removeProp() 函數(shù)用于移除在當前jQuery對象所匹配的每一個元素上指定的屬性。
該函數(shù)屬于jQuery 對象(實例)。如果你需要設(shè)置或獲取元素上的某些屬性,你可以使用prop()函數(shù)。 語法jQuery 1.6 新增該函數(shù)。removeProp() 函數(shù)的語法如下: jQueryObject.removeProp( propertyName ) 注意:removeProp() 會移除當前jQuery對象所匹配的每一個元素上指定名稱的屬性。 參數(shù)參數(shù) | 描述 |
---|
propertyName | String類型指定的屬性名稱。 |
返回值removeProp() 函數(shù)的返回值是jQuery類型,返回當前jQuery對象本身。
window 對象或DOM元素的一些內(nèi)置屬性是不允許刪除的,如果試圖刪除這些屬性,將會導致瀏覽器產(chǎn)生一個錯誤。jQuery首先會將該屬性的值賦為undefined,并忽略掉瀏覽器生成的任何錯誤信息。
一般情況下,你最好使用該函數(shù)來刪除一些自定義的屬性,而不是內(nèi)置屬性。 請不要使用本函數(shù)來刪除DOM元素的本地屬性checked 、selected 和disabled 。這將徹底刪除對應(yīng)的屬性,并且,一旦刪除之后,你無法再向該DOM元素重新添加對應(yīng)的屬性。請使用prop()函數(shù)將其設(shè)為false 即可,例如:jQueryObject.prop("checked", false) 。 示例&說明以下面這段HTML代碼為例: <div id="n1"> <p id="n2" class="demo test" data-key="UUID" data_value="1235456465">CodePlayer</p> </div> 我們編寫如下jQuery代碼: var $n2 = $("#n2"); $n2.prop("prop_a", "CodePlayer"); $n2.prop( "prop_b", { name: "CodePlayer", age: 20 } ); document.writeln( $n2.prop("prop_a") ); // CodePlayer document.writeln( $n2.prop("prop_b") ); // [object Object]
// 刪除n2Element對象上的屬性prop_a和prop_b $n2.removeProp("prop_a"); $n2.removeProp("prop_b"); document.writeln( $n2.prop("prop_a") ); // undefined document.writeln( $n2.prop("prop_b") ); // undefined
// removeProp()只是刪除元素(Element對象)自身的data-key屬性 // 由于其自身并沒有data-key屬性,因此不會刪除任何屬性 // 也不會對上面id為n2的元素節(jié)點(HTML文檔)的data-key屬性造成影響 $n2.removeProp("data-key"); document.writeln( $n2.prop("data-key") ); // undefined // 通過attr()訪問元素文檔節(jié)點中的屬性 document.writeln( $n2.attr("data-key") ); // UUID
|