jquery之操作元素属性和特性(设置特性值,attr(name,value),attr(attributes)方法的使用)
----------
用jquery把特性值设置到包装集元素上,有两种办法,先讲极为直接的办法,允许一次设置一个特性(对包装集里的所有元素)。
attr()语法:
attr(name,value)
为包装集里所有元素的name特性设置传递进来的值。
参数
name (字符串)将被设置的特性的名称
value (字符串|对象|函数)指定特性的值。可以是有返回值的任何javascript表达式,或是一个函数。
当value参数是任何有返回值(可以是数组)的javascript表达式时,把表达式的已计算值设置为特性值。当value参数是一个函数引用时,事情变得更加有趣。在这种情况下,为包装集各元素分别调用函数,把函数返回值作为特性值。每次调用函数时传递一个参数,表示元素在包装集里从0开始的下标。另外建立当前元素作为this变量,用于函数调用以便函数为各个特定元素调整处理方式。
如例:
这个命令将分别作用于页面上的所有元素,设置各元素的title特性为一个字符串,即由DOM中元素下标和各个特定元素id特性值所组成的字符串。
=====
用于写操作的attr()第二个重载变体允许一次性指定多个特性。
attr()语法:
attr(attributes)
把已传递对象指定的特性和值设置到包装集的所有元素上
参数
attributes 一个对象。对象属性被作为特性而复制到包装集里所有元素上。
这种格式是设置多个特性到包装集里所有元素的快速简便的方式。传入的参数可以是任何对象引用,但通常是对象字面量,其属性指定将要设置的特性的名称和值。如:
注:对象字面量,可以理解为字面上的对象,格式为{key1:value1,key2:value2,....}
这个语句把所有<input>元素的value设置为空字符串,同时把title设置为字符串Please enter a value。
请注意,如果传递进来的对象(作为value参数)的属性值是一个函数引用,则它的操作方式类似于前面的attr()格式---为匹配集里各元素分别调用函数。