jquery 关于checked属性的添加与移除

在详情弹框中用到radio的设置,会需要设置不一样的单选,
如果只设置不清除,会出现一直显示第一个单选按钮的情况,因为几个单选都设置了checked
如果先清除,再设置,那么会出现设置不上的问题,即使F12显示checked属性为true,也显示不出来,即
在使用removeAttr()移除了radio的checked属性后,使用attr()重新增加不起作用

$(":radio").removeAttr('checked');
$(":radio").attr('checked','true');

解决办法:

$(":radio").removeAttr('checked');
$("input:radio").prop('checked','true');

即使用prop()可重新配置上该属性;

像checkbox,radio和select这样的元素,选中属性对应“checked”和“selected”,这些也属于固有属性,因此需要使用prop方法去操作才能获得正确的结果。

注意:具有 true 和 false 两个属性的属性,如 checked, selected 或者 disabled 使用prop(),其他的使用 attr()

attr和prop的区别

一、attr和prop区别

attr 是从页面搜索获得元素值,所以页面必须明确定义元素才能获取值,相对来说较慢。

prop是从属性对象中取值,属性对象中有多少属性,就能获取多少值,不需要在页面中显示定义。

二、attr和prop怎么选择?

对于HTML元素本身就带有的固有属性,在处理时,使用prop方法。快速,准确。

对于HTML元素我们自己自定义的DOM属性,在处理时,使用attr方法。

猜你喜欢

转载自blog.csdn.net/qq_34664239/article/details/103480339
今日推荐