廖雪峰老师JS教程读书笔记(三):attr()和prop()和is()

attr()和prop()的差别

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


廖老师教程原文,获取节点信息那块

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

<input id="test-radio" type="radio" name="test" checked value="1">

等价于:

<input id="test-radio" type="radio" name="test" checked="checked" value="1">

attr()和prop()对于属性checked处理有所不同

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

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


不过,用is()方法判断更好:
jQuery is()方法

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

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

猜你喜欢

转载自blog.csdn.net/u013836242/article/details/77851036
今日推荐