JQuery普通属性操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/asty9000/article/details/84958511

attr:获取匹配元素集中第一个元素指定属性的值。JQuery1.6起,如果属性未设置则返回undefined。JQuery1.6之前,使用attr检索attribute时会将property也考虑进去,从而导致一些不一致的行为。JQuery1.6起,提供了显示检索property的方法prop,而attr只检索attribute。比如selectedIndex、tagName、nodeName、nodeType、ownerDocument、defaultChecked和defaultSelected在JQuery1.6之前都是通过attr来获取和设置的。attr除了获取属性值还可以设置属性值,有三种方式为属性设置值。第一种是传入属性名和属性值。属性值可以是字符串,数字或null。如果传入的是null则会将会移除属性。第二种是传入一个包含属性名-值的对象,通过这种方式可以一次设置多个属性的值,使用此方式时属性名外的引号可以省略,但是class属性时,必须使用引号。第三种是JQuery1.1起,可以传入属性名和一个返回属性值的函数(函数接受两个参数,第一个是当前元素的索引,索引从0开始,第二个是属性原本的值),返回的属性值为字符串或数字,如果返回undefined则不会改变属性的值。

prop:JQuery1.6起,获取匹配元素集中第一个元素指定属性的值。如果未设置属性值或元素集为空则返回undefined。在IE9以前,使用prop将DOM元素属性设置为除简单原始值(字符串、数字或布尔类型)之外的任何类型值,如果在DOM元素从文档中移除之前不将属性移除,可能导致内存泄漏。prop除了获取属性值还可以设置属性值,有三种方式为属性设置值。第一种是传入属性名和属性值。第二种是传入一个包含属性名-值的对象,通过这种方式可以一次设置多个属性的值。第三种是传入属性名和一个返回属性值的函数(函数接受两个参数,第一个是当前元素的索引,索引从0开始,第二个是属性原本的值),返回新的属性值。

removeAttr:从匹配元素集中的每个元素中删除指定的属性。从JQuery1.7开始此方法还可以接受一个空格分隔的属性列表,可以一次删除多个属性。removeattr方法使用JavaScript的removeAttribute函数,但是它的优点是能够直接在jQuery对象上调用,并且可以跨浏览器使用不同的属性命名。在Internet Explorer 8、9和11中,使用.removeAttr()删除内联onclick事件处理程序无法达到预期的效果,需要使用prop替代,即使用prop方法将onclick设置为null。

removeProp:从匹配元素集中删除指定属性。removeProp删除由prop方法设置的属性。如果试图删除DOM元素或者window对象内置的属性,浏览器可能会产生错误。JQuery首先将undefined的值赋值给属性,并忽略浏览器生成的任何错误。通常只需要删除对象的自定义属性,而不需要删除内置属性。不要使用此方法删除原生属性如checked、disabled或selected。一旦删除,会完全删除属性,并且无法将其再次添加到元素中。可以通过prop方法将其设置为false来达到目的。

val:获取匹配元素集中第一个元素的当前值。val主要用于获取表单元素的值,如input、select和textarea。如果元素集为空则返回undefined。如果第一个元素是多选的,则返回一个包含所有选中项值的数组。如果没有选中项则返回null,JQuery3.0之后返回空数组。目前使用val方法获取textarea元素值会从浏览器报告的值中去掉回车符,但是,当这个值通过XHR发送到服务器时,回车将被保留。val还可以接受文本字符串、数字或一个字符串数组对应于每个匹配元素中设置为selected/checked的元素值。JQuery1.4起,val还可以通过接受一个函数(接受两个参数,一个是当前元素在集合中的索引,索引从0开始,第二个参数是元素原本的值,函数返回一个字符串。)来进行元素值的设置。val方法接受数组对于设置checkbox、radio和select的option时非常有用,input和option会将与数组中匹配的元素设置为checked/selected,不匹配的设置为unchecked/unselected。使用val方法设置属性值不会触发change事件,如果想要触发change事件,需要在设置完值后调用.trigger("change")。

 

猜你喜欢

转载自blog.csdn.net/asty9000/article/details/84958511