【jquery ajax】jquery attr和removeAttr获取和设置元素属性

更新时间:2018-03-30    来源:jquery    手机版     字体:

【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

本文来源:http://www.bbyears.com/wangyezhizuo/40299.html