首页 > 语言 > JavaScript > 正文

jQuery 特性操作详解及实例代码

2024-05-06 15:09:06
字体:
来源:转载
供稿:网友

前面的话

  每个元素都有一个或者多个特性,这些特性的用途就是给出相应元素或者其内容的附加信息。操作特性的DOM方法主要有3个:getAttribute()方法、setAttribute()方法和removeAttribute()方法,而在jQuery中用一个attr()与removeAttr()就可以全部搞定了,包括兼容问题。本文将介绍jQuery中的特性操作

获取特性

  jQuery中用attr()方法来获取和设置特性,attr是attribute(特性)的缩写,在jQuery DOM操作中会经常用到attr()方法

attr(attributeName)

  attr(传入特性名):获取特性的值,相当于DOM中的getAttribute()

<div id="test"></div><script src="http://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script><script>console.log(test.getAttribute('id'));//'test'  console.log($('#test').attr('id'));//'test'</script>

  [注意]attr()方法只获取第一个匹配元素的属性值。要获取每个单独的元素的属性值,我们依靠jQuery的.each()或者.map()方法循环

<div class="test" id="ele1">元素一</div><div class="test" id="ele2">元素二</div><script src="http://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script><script>console.log($('.test').attr('id'));//'test'$('.test').each(function(index) { console.log(index+":"+$(this).attr('id'));//'1:ele1 2:ele2'});</script>

prop()

  属性(property)和特性(attribute)是不同的。属性是DOM节点的属性,而特性是HTML标签的特性

  [注意]关于属性和特性的区别的详细信息移步至此

<div id="test" data="abc"></div><script src="http://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script><script>test.data = 123;//IE8-浏览器返回123,其他浏览器返回'abc'console.log(test.getAttribute('data'))console.log(test.data)//123//IE8-浏览器返回123,其他浏览器返回'abc'console.log($('#test').attr('data'))console.log($('#test').prop('data'))//123</script>

  由上面代码可知,jQuery并没有解决低版本IE浏览器属性和特性混淆的问题

设置特性

  设置特性虽然依然使用attr()方法,但却有3种方式

【1】attr(attributeName,value)

  attr(特性名, 特性值):设置特性的值,相当于DOM中的setAttribute()

<div id="test"></div><script src="http://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script><script>test.setAttribute('title','abc');console.log(test.getAttribute('title'))//'abc'$('#test').attr('title','123');  console.log($('#test').attr('title'));//'123'</script>

  jQuery禁止改变一个<input>或<button>元素的type特性,会静默失败。因为IE8-不会允许改变<input>或者<button>元素的type特性,静默失败

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选