removeAttribute的疑问
我有以下疑问:
removeAttribute是不是跟利用attributes来实现的是一样的? 只可以删除掉自定义属性和显式定义的固有属性?(自己测试过好像是这样子, 想跟老师确认一下)
先前看见一个回答说:removeAttribute是用来移除自定义属性,恢复固有属性的默认值的。
那为什么使用JS 设置 checked=true的方式,利用removeAttribute却不能恢复默认值 (在控制台上的property的固有属性列表里面是有看到这个checked属性的。)
还有一个地方比较混淆, 先前看到一个回答说:
defaultChecked是DOM对应HTML的checked的属性,但是恢复他们的属性的时候却是使用removeAttribute('checked'); 这是不是说removeAttribute里面填的属性值依然是对应HTML属性的属性名,attributes的xxxNamedItem()方法也是嘛? (同样跟老师确认一下。)
正在回答 回答被采纳积分+1
同学你好,关于你的问题,回答如下:
1、是的。removerAttribute可以移出通过setAttribute添加上的属性。
2、如果文档指定了属性默认值,那么removeAttribute只是将其恢复默认值。
input的checked属性,不能使用removeAttribute()属性删除
3、defaultChecked 属性是可返回 checked 属性的默认值。就是说如果单选框或者多选框的默认状态是选中,则返回 true,否则返回 fasle。
这个要结合第二个一起来看,checked属性本身是没有默认值的。这个默认值指的是html加载完毕时checked属性的值,就作为其默认值。
attributes.getNamedItem('')也是用来获取html文档中显示声明的属性的值,可以理解为获取属性值的。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星