100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > jQuery attr()获取属性和设置属性的方法

jQuery attr()获取属性和设置属性的方法

时间:2020-04-06 09:26:30

相关推荐

jQuery attr()获取属性和设置属性的方法

前言:

在JS中设置节点的属性与属性值用到setAttribute(),获得节点的属性与属性值用到getAttribute(),而在jquery中,只需要用到attr()这个函数就可以了。attr是attribute(属性)的缩写。

语法:

1、attr(“属性名”); //获取属性的值(取得第一个匹配元素的属性。通过这个方法可以方便的从第一个匹配元素中获取一个属性的值。如果元素没有相应属性,则返回undefined)

2、attr(“属性名”,“属性值”); //设置属性的值(为所有匹配的元素设置一个属性值)

3、attr(“属性名”,“函数值”); //设置属性的函数值(为所有匹配的元素设置一个计算的属性值。不提供值,而是提供一个函数,由这个函数家孙的值作为属性值)

4、attr(properties); //给指定元素设置多个属性值,即:{属性名1:“属性值1”,属性值2:”属性值2”}(这是一种在所有匹配元素中批量设置很多属性的最佳方式。注意,如果你要设置的对象的class属性,你必须使用className作为属性名,或者你可以直接使用 class 或者 id )

注意:所有的标点符号都是英文符号,在给指定元素设置多个属性值的时候,注意双引号“”的使用!

举例如下:

<p title="你最喜欢的明星是?">你最喜欢的明星是?</p><ul><li title="刘亦菲">刘亦菲</li><li title="李易峰" value="123">李易峰</li><li title="杨洋">杨洋</li></ul>

1、使用attr(属性名)获取属性的值。

alert($("ul li").attr("title"));//结果刘亦菲alert($("ul li:eq(0)").attr("title"));//结果:刘亦菲alert($("ul li:eq(1)").attr("title"));//结果:李易峰(吾里峰峰)alert($("ul li").attr("value"));//结果:undefinedalert($("ul li:eq(1)").attr("value"));//结果:123

2、attr(name,value) //设置属性的值

$("ul li:eq(2)").attr("title","胡歌");alert($("ul li:eq(2)").attr("title"));//结果:胡歌

3、attr(name,fn) //设置属性的函数值

$("ul li:eq(1)").attr("title",function(){return this.value});alert($("ul li:eq(1)").attr("title"));//123

4.attr(properties) //将一个“名/值”形式的对象设置为所有匹配元素的属性

(1) 获取<ul>里第2个<li>设置title和value属性。

<script>$("ul li").attr({title:"不是李易峰",value:"不是123"});alert($("ul li:eq(1)").attr("title"));//不是李易峰alert($("ul li:eq(1)").attr("value"));//不是123 alert($("ul li:eq(2)").attr("title"));//不是李易峰alert($("ul li:eq(2)").attr("value"));//不是123alert($("ul li:eq(0)").attr("title"));//不是李易峰alert($("ul li:eq(0)").attr("value"));//不是123</script>

(2)获取<ul>里第2个<li>设置class。

<script>$("ul li:eq(1)").attr({class:"lili"});</script>结果:第二个li的html:<li class="lili" title="橘子汁" value="123">橘子</li>

(3)获取<ul>里第2个<li>设置id。

<script>$("ul li:eq(1)").attr({id:"lili"});</script>结果:第二个li的html:<li id="lili" title="橘子汁" value="123">橘子</li>

(4)获取<ul>里第2个<li>设置style。

<script>$("ul li:eq(1)").attr({style:"color:red"});</script>结果:李易峰的字体颜色是红色

题外话:删除属性:removeAttr();

$("ul li:eq(1)").removeAttr ("title");

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。