removeProp() 函數(shù)用于移除在當(dāng)前jQuery對(duì)象所匹配的每一個(gè)元素上指定的屬性。
該函數(shù)屬于jQuery 對(duì)象(實(shí)例)。如果你需要設(shè)置或獲取元素上的某些屬性,你可以使用prop()函數(shù)。 語法jQuery 1.6 新增該函數(shù)。removeProp() 函數(shù)的語法如下: jQueryObject.removeProp( propertyName ) 注意:removeProp() 會(huì)移除當(dāng)前jQuery對(duì)象所匹配的每一個(gè)元素上指定名稱的屬性。 參數(shù)參數(shù) | 描述 |
---|
propertyName | String類型指定的屬性名稱。 |
返回值removeProp() 函數(shù)的返回值是jQuery類型,返回當(dāng)前jQuery對(duì)象本身。
window 對(duì)象或DOM元素的一些內(nèi)置屬性是不允許刪除的,如果試圖刪除這些屬性,將會(huì)導(dǎo)致瀏覽器產(chǎn)生一個(gè)錯(cuò)誤。jQuery首先會(huì)將該屬性的值賦為undefined,并忽略掉瀏覽器生成的任何錯(cuò)誤信息。
一般情況下,你最好使用該函數(shù)來刪除一些自定義的屬性,而不是內(nèi)置屬性。 請(qǐng)不要使用本函數(shù)來刪除DOM元素的本地屬性checked 、selected 和disabled 。這將徹底刪除對(duì)應(yīng)的屬性,并且,一旦刪除之后,你無法再向該DOM元素重新添加對(duì)應(yīng)的屬性。請(qǐ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對(duì)象上的屬性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對(duì)象)自身的data-key屬性 // 由于其自身并沒有data-key屬性,因此不會(huì)刪除任何屬性 // 也不會(huì)對(duì)上面id為n2的元素節(jié)點(diǎn)(HTML文檔)的data-key屬性造成影響 $n2.removeProp("data-key"); document.writeln( $n2.prop("data-key") ); // undefined // 通過attr()訪問元素文檔節(jié)點(diǎn)中的屬性 document.writeln( $n2.attr("data-key") ); // UUID
|