jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了为什么不更改jQuery $.fn.data()更新相应的html 5 data- *属性?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
下面是一个简单的例子来说明行为:

给定这个html标记

<div data-company="Microsoft"></div>

和这个jQuery代码(使用jQuery 1.5.1):

// read the data
alert($("div").data("company"));
// returns Microsoft <<< OK!

// set the data
$("div").data("company","Apple");
alert($("div").data("company"));
// returns Apple <<< OK!

// attribute SELEctor
alert($("div[data-company='Apple']").length);
// returns 0  <<< WHY???

// attribute SELEctor again
alert($("div[data-company='Microsoft']").length);
// returns 1  <<< WHY???

// set the attribute directly
$("div").attr("data-company","Apple");
alert($("div[data-company='Apple']").length);
// Now returns 1 <<< OK!

由于jQuery自动将HTML5 data- *导入jQuery的数据对象,因此当数据更改时,属性是否应该更新?

解决方法

通常,如果你使用.data()来访问/设置/修改DOM元素上的数据,则不需要往返.data()。因此,避免为每个.data()set / modify操作(.data()在jQuery.cache中存储其值)访问DOM的性能开销是有意义的。

如果你想自己强制往返行为,可以订阅“setData”或“changeData”事件,然后通过.attr()将这些事件中的.data()更新推送到@R_674_11258@DOM元素。

大佬总结

以上是大佬教程为你收集整理的为什么不更改jQuery $.fn.data()更新相应的html 5 data- *属性?全部内容,希望文章能够帮你解决为什么不更改jQuery $.fn.data()更新相应的html 5 data- *属性?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。