jquery attr()方法

在做项目的时候,遇到JQuery的attr()就心里犯抵触,总觉得很神奇,不敢阅读和使用,只要真正明白attr()的用法,我们得世界突然就明亮了,下面对attr()做一些范例介绍一下:

 jquery中用attr()方法来获取和设置元素属性,attrattribute(属性)的缩写,在jQuery DOM操作中会经常用到attr()attr()4个表达式。

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

 2.attr(属性名,属性值)   //设置属性的值(为所有匹配的元素设置一个属性值。)

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

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

html代码结构: 
<p title="你最喜欢的汽车是">你最喜欢的汽车是?</p>
<ul>
  <li title="宝马">宝马</li>
  <li title="法拉利" value="123">法拉利</li>
  <li title="兰博基尼">兰博基尼</li>
</ul> 
1.attr(name)//获取属性的值 
1.1 使用attr(name)获取title值: 
<script>
alert($("ulli:eq(1)").attr("title"));
</script> 
结果:法拉利 
1.2 使用attr(name)获取value值:
<script>
alert($("ulli:eq(1)").attr("value"));
</script> 
结果:123 
2. attr(name,value)   //设置属性的值 
2.1 使用attr(name,value)修改title值为:开跑车法拉利
<script>
$("ulli:eq(1)").attr("title","开跑车法拉利");
alert($("ulli:eq(1)").attr("title"));
</script> 
结果:开跑车法拉利 
3. attr(name,fn)  //设置属性的函数值 
3.1 把value属性的值设置设给title属性。
<script>
$("ulli:eq(1)").attr("title",function(){ return this.value});
alert($("ulli:eq(1)").attr("title"));
</script> 	
结果:123 
4.attr(properties)  //将一个“名/值”形式的对象设置为所有匹配元素的属性 
4.1 获取<ul>里第2个<li>设置title和value属性。
<script>
$("ulli:eq(1)").attr({title:" 开跑车法拉利",value:"不是123"});
alert($("ulli:eq(1)").attr("title"));
alert($("ulli:eq(1)").attr("value"));
</script> 
结果:开跑车法拉利  不是123 
4.2 获取<ul>里第2个<li>设置class。
<script>
$("ulli:eq(1)").attr({className:"lili"});
</script> 
结果:第二个li的html:<li class="lili" title="法拉利" value="123">法拉利</li> 
4.3 获取<ul>里第2个<li>设置id。
<script>
$("ulli:eq(1)").attr({id:"lili"});
</script> 
结果:第二个li的html:<li id="lili" title="法拉利" value="123">法拉利</li> 
4.4 获取<ul>里第2个<li>设置style。
<script>
$("ulli:eq(1)").attr({style:"color:red"});
</script> 
那么如何删除属性呢? 
<script>
$("ul li:eq(1)").removeAttr("title");
</script>
是否有跟attr()相似的属性呢?
jquery中val()与之类似,
$(this).val();获取某个元素节点的value值,相当于$(this).attr("value");
$(this).val(value);设置某个元素节点的value值,相当于$(this).attr("value",value);

现在是不是很明白了呢?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值