【www.bbyears.com--jquery】
attr()方法
一、attr(name):取得第一个匹配元素的属性值。通过这个方法可以方便地从第一个匹配元素中获取一个属性的值。如果元素没有相应属性,则返回 undefined 。其中name为string.下面我用一个img元素演示一下这种用法:
代码如下//html文件中
//我们可以用attr获得img元素的src属性,具体用法如下:
$(function(){
var imgSrc = $("img").attr("src");
alert(imgSrc); //显示 a.gif
})
二、attr(key,value):为所有匹配的元素设置一个属性值。key为string属性名,value为object属性值,用法演示:
代码如下//html文件中
//使用此方法设置img的src属性
$(function(){
$("img").attr("src", "a.gif"); //文件中显示
})
三、attr(properties):这是一种在所有匹配元素中批量设置很多属性的最佳方式。 注意,如果你要设置对象的class属性,你必须使用"className" 作为属性名。或者你可以直接使用.addClass( class ) 和 .removeClass( class ).
代码如下//文件中
$(function(){
$("img").attr({src:"a.gif", title:"this is a image", className: "filter"});
})
// 显示为
四、attr(key, fn):为所有匹配的元素设置一个计算的属性值。不提供值,而是提供一个函数,由这个函数计算的值作为属性值。
代码如下//文件中
$(function(){
$("img").attr("title", function(){ return this.src }); //显示
})
以上介绍的是attr的一些用法,下面是removeAttr的用法 remove故明思意就是移除的意思,从每一个匹配的元素中删除一个属性。它的具体用法就是:
代码如下//文档中
$(function(){
$("img").removeAttr("title"); //显示
})
removeAttr()方法
jquery中删除属性的关键词是: removeAttr 注意A是大写的. 看看怎么用的:
同样是用法一中的html代码, 我想删掉li的title属性, 那么就这样:
<script>
$("ul li:eq(1)").removeAttr ("title");
</script>
就这么简单, attr 其实就是原生js中 getAttribute 的简化实现, 而removeAttr 就是 removeAttribute 的简写了。
那么是否有跟attr()相似的属性呢?
jquery中val()与之类似,
$(this).val();获取某个元素节点的value值,相当于$(this).attr("value");
$(this).val(value);设置某个元素节点的value值,相当于$(this).attr("value",value);
现在我们综合来看个实例
代码如下
<script src="../js/jquery-1.5.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("#btnChange").click(function () {
var $divs = $("div");
//----1.举例1
//$divs.eq(0).attr("MyAttr", "Ronaldo"); //eq返回指定下标的JQuery对象(注意:此时$divs中有两个div的dom元素)
//$divs.eq(1).attr("MyAttr", "Ronaldo1");
//alert($divs.attr("MyAttr")); //读取MyAttr属性,注意,只会读取出第一个元素的该属性
//----2.举例2 使用JSon格式设置attr
//$divs.eq(0).attr({ "MyAttr": "Ronaldo", "Age": "19" });
//$divs.eq(1).attr({ "MyAttr": "Rivaldo", "Age": "29" });
//alert("MyAttr:" + $divs.eq(1).attr("MyAttr") + ",Age:" + $divs.eq(1).attr("Age"));
//----3.举例3 移除属性
$divs.eq(0).attr({ "MyAttr": "Ronaldo", "Age": "19" });
$divs.eq(1).attr({ "MyAttr": "Rivaldo", "Age": "29" });
alert("MyAttr:" + $divs.eq(1).attr("MyAttr") + ",Age:" + $divs.eq(1).attr("Age"));
$divs.eq(1).removeAttr("Age");
alert("MyAttr:" + $divs.eq(1).attr("MyAttr") + ",Age:" + $divs.eq(1).attr("Age"));
});
});
</script>
我是div1
我是div2