JS : attr()和prop()和is() 取值的区别

简介: 简单区别就是,attr操作HTML元素的属性,prop操作DOM元素的属性,因为DOM会解析某些HTML元素属性到自己身上,此时prop和attr都能操作这些属性。

简单区别就是,attr操作HTML元素的属性,prop操作DOM元素的属性,因为DOM会解析某些HTML元素属性到自己身上,此时prop和attr都能操作这些属性。


prop()方法和attr()类似,但是HTML5规定有一种属性在DOM节点中可以没有值,只有出现与不出现两种,例如:


<inputid="test"type="radio"name="test"checkedvalue="1">


等价于:


<inputid="test"type="radio"name="test"checked="checked"value="1">


attr()和prop()对于属性checked处理:


var radio = $('#test');
radio.attr('checked'); // 'checked'
radio.prop('checked'); // true


显然 prop()返回值更合理一些。


此时,用is()方法判断更好:

jQuery is()方法


var radio = $('#test');
radio.is(':checked'); // true


类似的属性还有selected,处理时最好用is(‘:selected’)。


重点来了!!!


假如页面的标签是动态的,此时标签被过滤掉不在页面存在时,


radio.attr('checked'); // 'checked'
radio.prop('checked'); // true


都无法获取到结果,只有用is()方法,标签不存在时,可以获取到 false值。


相关文章
|
2月前
|
JavaScript 前端开发 索引
js遍历的方法与区别
js遍历的方法与区别
49 3
|
2月前
|
JavaScript 前端开发 索引
js的循环中foreach、for in和for of的区别
js的循环中foreach、for in和for of的区别
108 0
|
8天前
|
JavaScript 前端开发
JavaScript中单引号和双引号的效果的一点区别
JavaScript中单引号和双引号的效果的一点区别
|
11天前
|
前端开发 JavaScript 开发者
React 和 Vue.js 框架的区别是什么?
React 和 Vue.js 框架的区别是什么?
|
29天前
|
前端开发 JavaScript API
JavaScript 的宏任务和微任务有什么区别
【9月更文挑战第6天】JavaScript 的宏任务和微任务有什么区别
22 4
|
11天前
|
JavaScript 前端开发
JS基础 if和switch区别
本文比较了JavaScript中的`if`语句和`switch`语句的区别,并通过示例代码展示了它们的用法,解释了何时使用`if`更合适以及`switch`语句的特点和应用场景。
14 0
|
21天前
|
前端开发 JavaScript UED
JavaScript防抖和节流的使用及区别
JavaScript防抖和节流的使用及区别
8 0
|
1月前
|
存储 JavaScript 前端开发
|
2月前
|
JavaScript 前端开发 Java
Java和JavaScript区别与联系
【8月更文挑战第18天】
|
2月前
|
JavaScript 前端开发
js中浅拷贝和深拷贝的区别
js中浅拷贝和深拷贝的区别
24 0