网站建设资讯

NEWS

网站建设资讯

jQuery中.attr()与.data()有什么区别

jQuery中.attr()与.data()有什么区别?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

创新互联专注于善右企业网站建设,响应式网站开发,商城建设。善右网站建设公司,为善右等地区提供建站服务。全流程定制网站开发,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

$.attr()和$.data()本质上属于 DOM属性 和 Jquery对象属性 的区别。

Jquery对象属性和DOM属性

一个简单的例子



  
    
    Jquery中.attr和.data的区别
  
  
    

             var getAttr1 = $('#app').attr('data-foo');     var getData1 = $('#app').data('foo');     console.log('getAttr1: ' + getAttr1); //hello     console.log('getData1: ' + getData1); //hello     $('#app').attr('data-foo', 'world'); //$.attr 设置DOM元素属性值     var getAttr2 = $('#app').attr('data-foo');     var getData2 = $('#app').data('foo');     console.log('getAttr2: ' + getAttr2); //world     console.log('getData2: ' + getData2); //*** hello ***     $('#app').data('foo', 'WORLD'); //$.data 设置DOM node属性值     var getAttr3 = $('#app').attr('data-foo');     var getData3 = $('#app').data('foo');     console.log('getAttr3: ' + getAttr3); //world     console.log('getData3: ' + getData3); //*** WORLD ***   

• $.attr()每次都从DOM 元素 中取属性的值,即和视图中标签内的属性值保持一致。 •$.attr('data-foo')会从标签内获得data-foo属性值;

•$.attr('data-foo', 'world')会将字符串'world'塞到标签的'data-foo'属性中;

•$.data()是从 Jquery对象 中取值,由于对象属性值保存在内存中,因此可能和视图里的属性值不一致的情况。 •$.data('foo')会从 Jquery对象 内获得foo的属性值,不是从标签内获得data-foo属性值;

•$.data('foo', 'world')会将字符串'world'塞到 Jquery对象 的'foo'属性中,而不是塞到视图标签的data-foo属性中。

关于jQuery中.attr()与.data()有什么区别问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


标题名称:jQuery中.attr()与.data()有什么区别
网页网址:http://cdweb.net/article/pescej.html