注:jQuery禁止改变<input>和<button>元素的type属性,如果强制去改变,在任何浏览器下,这都会抛出一个异常,这是因为,在IE浏览器下,type属性是不可被修改的。
计算后的属性值:
通过使用function设置属性,可以通过其他的属性值进行计算之后,再进行属性赋值操作,例如:基于一个已有的属性连接处一个新的属性值。
这种通过function计算属性值的方法在一次性对多个元素设置不同的属性值时,尤其的有效。
例子:为页面中的所有img设置一些属性,核心代码如下:
<body> <img> <img> <img> <div><b>Attribute of Ajax</b></div> <script> $( "img" ).attr({ src: "/resources/hat.gif", title: "jQuery", alt: "jQuery Logo" }); $( "div" ).text( $( "img" ).attr( "alt" ) ); </script> </body>根据div在页面中的position,设置它的id属性。
<body> <div>Zero-th <span></div> <div>First <span></span></div> <div>Second <span></span></div> <script> $( "div" ) .attr( "id", function( arr ) { return "div-id" + arr; }) .each(function() { $( "span", this ).html( "(id = '" + this.id + "')" ); }); </script> </body>OK,这里就暂时叙述到这里了,如果你不明白为什么.attr()的取值和.prop()的取值有这个差别,那么就先看看前一篇文章,js原生操作HTML对象的属性区别,然后再去看看jquery源码中的,.attr()方法和.prop()方法的实现吧。
相信你会有更进一步的了解的,感谢您能阅读本文,如果有任何意见,欢迎提出,非常感谢!
本文地址:?p=38