国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

jQuery.prop() 使用詳解

2024-05-06 16:23:29
字體:
供稿:網(wǎng)友
這篇文章主要給大家簡單介紹了jQuery.prop() 使用方法,有需要的小伙伴可以參考下
 

prop()函數(shù)用于設(shè)置或返回當(dāng)前jQuery對象所匹配的元素的屬性值。

該函數(shù)屬于jQuery對象(實(shí)例)。如果需要?jiǎng)h除DOM元素的屬性,請使用removeProp()函數(shù)。

語法

jQuery 1.6 新增該函數(shù)。prop()函數(shù)有以下兩種用法:

用法一:

jQueryObject.prop( propertyName [, value ] )

設(shè)置或返回指定屬性propertyName的值。如果指定了value參數(shù),則表示設(shè)置屬性propertyName的值為value;如果沒有指定value參數(shù),則表示返回屬性propertyName的值。

參數(shù)value還可以是函數(shù),prop()將根據(jù)匹配的所有元素遍歷執(zhí)行該函數(shù),函數(shù)中的this指針將指向?qū)?yīng)的DOM元素。prop()還會(huì)為函數(shù)傳入兩個(gè)參數(shù):第一個(gè)參數(shù)就是該元素在匹配元素中的索引,第二個(gè)參數(shù)就是該元素propertyName屬性當(dāng)前的值。函數(shù)的返回值就是為該元素的propertyName屬性設(shè)置的值。

用法二:

jQueryObject.prop( object )

以對象形式同時(shí)設(shè)置任意多個(gè)屬性的值。對象object的每個(gè)屬性對應(yīng)propertyName,屬性的值對應(yīng)value。

注意:prop()函數(shù)的所有"設(shè)置屬性"操作針對的是當(dāng)前jQuery對象所匹配的每一個(gè)元素;所有"讀取屬性"的操作只針對第一個(gè)匹配的元素。
參數(shù)

請根據(jù)前面語法部分所定義的參數(shù)名稱查找對應(yīng)的參數(shù)。

參數(shù) 描述
propertyName String類型指定的屬性名稱。
value 可選/Object/Function類型指定的屬性值,或返回屬性值的函數(shù)。
object Object類型指定的對象,用于封裝多個(gè)鍵值對,同時(shí)設(shè)置多項(xiàng)屬性。
參數(shù)value可以是包括對象和數(shù)組在內(nèi)的任意類型。

返回值

prop()函數(shù)的返回值是任意類型,返回值的類型取決于當(dāng)前prop()函數(shù)執(zhí)行的是"設(shè)置屬性"操作還是"讀取屬性"操作。

如果prop()函數(shù)執(zhí)行的是"設(shè)置屬性"操作,則返回當(dāng)前jQuery對象本身;如果是"讀取屬性"操作,則返回讀取到的屬性值。

如果當(dāng)前jQuery對象匹配多個(gè)元素,返回屬性值時(shí),prop()函數(shù)只以其中第一個(gè)匹配的元素為準(zhǔn)。如果該元素沒有指定的屬性,則返回undefined。

prop()和attr()的主要區(qū)別:prop()函數(shù)針對的是DOM元素(JS Element對象)的屬性,attr()函數(shù)針對的是DOM元素所對應(yīng)的文檔節(jié)點(diǎn)的屬性。詳情請查看jQuery函數(shù)attr()和prop()的區(qū)別。

注意事項(xiàng)

1、如果通過prop()函數(shù)更改<input>和<button>元素的type屬性,在多數(shù)瀏覽器上將會(huì)拋出一個(gè)錯(cuò)誤,因?yàn)樵搶傩砸话悴辉试S在后期更改。

2、如果使用prop()函數(shù)操作表單元素的checked、selected、disabled等屬性,如果該元素被選中(或禁用),則返回true,否則(意即HTML中沒有該屬性)返回false。

3、prop()函數(shù)還可以設(shè)置或返回DOM元素的Element對象上的某些屬性,例如:tagName、selectedIndex、nodeName、nodeType、ownerDocument、defaultChecked和defaultSelected等屬性。

4、在IE9及更早版本中,如果使用prop()函數(shù)設(shè)置的屬性值不是一個(gè)簡單的原始值(String、Number、Boolean),并且在對應(yīng)的DOM元素被銷毀之前,該屬性沒有被移除,則可能會(huì)導(dǎo)致內(nèi)存泄漏問題。如果你只是為了存儲數(shù)據(jù),建議你使用data()函數(shù),以避免內(nèi)存泄漏問題。

示例&說明

以下面這段HTML代碼為例:

 

復(fù)制代碼代碼如下:
<div id="n1">
    <p id="n2" class="demo test" data-key="UUID" data_value="1235456465">CodePlayer</p>
    <input id="n3" name="order_id" type="checkbox" value="1">
    <input id="n4" name="order_id" type="checkbox" checked="checked" value="2">
</div>

我們編寫如下jQuery代碼:
  1. var $n2 = $("#n2"); 
  2. // prop()操作針對的是元素(Element對象)的屬性,而不是元素節(jié)點(diǎn)(HTML文檔)的屬性 
  3. document.writeln( $n2.prop("data-key") ); // undefined 
  4. document.writeln( $n2.prop("data_value") ); // undefined 
  5.  
  6. document.writeln( $n2.prop("id") ); // n2 
  7. document.writeln( $n2.prop("tagName") ); // P 
  8. document.writeln( $n2.prop("className") ); // demo test 
  9. document.writeln( $n2.prop("innerHTML") ); // CodePlayer 
  10. document.writeln( typeof $n2.prop("getAttribute") ); // function 
  11.  
  12. // prop()設(shè)置的屬性也是針對元素(Element對象),因此也可以通過元素本身直接訪問 
  13. $n2.prop("prop_a""CodePlayer"); 
  14. document.writeln( $n2[0].prop_a ); // CodePlayer 
  15. var n2 = document.getElementById("n2"); 
  16. document.writeln( n2.prop_a ); // CodePlayer 
  17.  
  18. // 以對象形式同時(shí)設(shè)置多個(gè)屬性,屬性值可以是對象、數(shù)組等任意類型 
  19. $n2.prop( {  
  20.   prop_b: "baike"
  21.   prop_c: 18, 
  22.   site: { name: "CodePlayer", url: "http://www.survivalescaperooms.com/" } 
  23. } ); 
  24. document.writeln( $n2[0].prop_c ); // 18 
  25. document.writeln( $n2[0].site.url ); // http://www.survivalescaperooms.com/ 
  26.  
  27. // 反選所有的復(fù)選框(沒選中的改為選中,選中的改為取消選中) 
  28. $("input:checkbox").prop("checked"function(index, oldValue){ 
  29.   return !oldValue; 
  30. }); 
 

以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 淮滨县| 商水县| 郎溪县| 江安县| 潍坊市| 蒲江县| 万宁市| 古浪县| 尼木县| 宝丰县| 巩留县| 霞浦县| 抚远县| 安福县| 辽中县| 宜昌市| 桃园县| 平武县| 克山县| 日土县| 汉川市| 靖州| 商丘市| 阳泉市| 电白县| 根河市| 秦皇岛市| 定陶县| 阳山县| 宕昌县| 隆子县| 石渠县| 余干县| 彭山县| 潜江市| 固安县| 阜新市| 宝应县| 双辽市| 赤壁市| 灌云县|