亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

jquery中attr、prop、data區(qū)別與用法分析

 更新時間:2019年09月25日 10:08:45   作者:學知無涯  
這篇文章主要介紹了jquery中attr、prop、data區(qū)別與用法,結合實例形式分析了jQuery中attr、prop、data的區(qū)別、功能、使用方法及相關注意事項,需要的朋友可以參考下

本文實例講述了jquery中attr、prop、data區(qū)別與用法。分享給大家供大家參考,具體如下:

在高版本的jquery中獲取標簽的屬性,可以使用attr()、prop()、data(),那么這些方法有什么區(qū)別呢?

  • 對于HTML元素本身就帶有的固有屬性,在處理時,使用prop方法。
  • 對于HTML元素我們自己自定義的DOM屬性,在處理時,使用attr方法。
  • .data()看作是存取data-xxx這樣DOM附加信息的方法

上面的描述也許有點模糊,舉幾個例子就知道了。

<a  rel="external nofollow" target="_self" class="btn">百度</a>

這個例子里<a>元素的DOM屬性有“href、target和class",這些屬性就是<a>元素本身就帶有的屬性,也是W3C標準里就包含有這幾個屬性,或者說在IDE里能夠智能提示出的屬性,這些就叫做固有屬性。處理這些屬性時,建議使用prop方法。

<a href="#" rel="external nofollow" id="link1" action="delete">刪除</a>

這個例子里<a>元素的DOM屬性有“href、id和action”,很明顯,前兩個是固有屬性,而后面一個“action”屬性是我們自己自定義上去的,<a>元素本身是沒有這個屬性的。這種就是自定義的DOM屬性。處理這些屬性時,建議使用attr方法。使用prop方法取值和設置屬性值時,都會返回undefined值。

再舉一個例子:

<input id="chk1" type="checkbox" />是否可見
<input id="chk2" type="checkbox" checked="checked" />是否可見

像checkbox,radio和select這樣的元素,選中屬性對應“checked”和“selected”,這些也屬于固有屬性,因此需要使用prop方法去操作才能獲得正確的結果。

$("#chk1").prop("checked") == false
$("#chk2").prop("checked") == true

如果上面使用attr方法,則會出現(xiàn):

$("#chk1").attr("checked") == undefined
$("#chk2").attr("checked") == "checked"

說說.data(),我們知道 html 5里面DOM標簽可以加以一些data-xxx的屬性,你可以把.data()看作是存取data-xxx這樣DOM附加信息的方法。當 然,.data()存取的內(nèi)容不僅是字符串,還可以包含數(shù)組和對象。從jq1.4.3起, html5 的data-xxx屬性會自動被添加到jq的data對象里,比如有下列代碼:

<div data-role="page" data-last-value="43" data-hidden="true" data-options='{"name":"noahlu"}'></div>

下面的等式都成立:

$("div").data("role") === "page";
$("div").data("lastValue") === 43;
$("div").data("hidden") === true;
$("div").data("options").name === "noahlu";

從性能上對比,.prop() > .data() > .attr(),不同瀏覽器不同版本.data()和.attr()的性能關系有差異,不過.prop()總是最優(yōu)的。

更多關于jQuery相關內(nèi)容感興趣的讀者可查看本站專題:《jQuery常見事件用法與技巧總結》、《jQuery常用插件及用法總結》、《jQuery操作json數(shù)據(jù)技巧匯總》、《jQuery擴展技巧總結》、《jQuery常見經(jīng)典特效匯總》及《jquery選擇器用法總結

希望本文所述對大家jQuery程序設計有所幫助。

相關文章

最新評論