在进行前端开发的页面布局中,很多时候我们都希望通过一定的触发事件来使一些元素上增加或者删除一些属性,jQuery中就提供了对属性的多种操作方法,在此仅对.attr()和.removeAttr()做一下详细介绍:
.attr()
.attr(name|properties|key,value|fn)
返回值:String
获取匹配的元素集合中的第一个元素的属性的值或设置每一个匹配元素的一个或多个属性。
1、获取匹配元素的属性,例如:
$("img").attr("src");
2、设置匹配元素的属性,例如:
单一属性的设置
$("img").attr("src","test.jpg");
多个属性的设置
$("img").attr({ src: "test.jpg", alt: "Test Image" });
3、$("img").attr("title", function() { return this.src });
.removeAttr()
removeAttr(name)
返回值:jQuery
从每一个匹配的元素中删除相应的属性。
删除一个属性
$("img").removeAttr("src");
那么删除多个属性呢,可以如下这种写法:
$("img").removeAttr("src alt");//img的src和alt都会被删除
实际上在平常的使用中我们还可以通过如下这种方法来进行删除:
$("img").attr("src","");
$("img").attr({src:"",alt:""});
使用这两方法的区别在于页面html的结构不同,如果使用的removeAttr它会直接将这个属性删除,在页面中看到的就是这个结果
<img>
但如果使用attr的方式来删除,结果是不会删除这个属性,只是将这个属性的值置为空,在页面中看到的就是这个结果
<img src alt>
实际上和<img src="" alt="">
的效果是一样的。
jQuery的方法重在理解,变通使用。