html 里 checkbox里 只要选中就会自动添加checked=“checked”么?
事实上HTML代码是不会发生变化的,但是控件对象的属性会发生变化以反映这个操作的结果.也就是说,该对象的checked属性值会由false变成true.但元素标签中并不会插入checked="checked"这样的字符串.
<section id="main">
<input id="toggleAll" type="checkbox" >
<lable for="toggleAll">标记全部任务</lable>
<ul id="todoList"></ul>
</section>
如果勾中这个复选框 再console.log $('#toggleAll').attr('checked') 应该得到true
但得到的是undefined
如果用JQ来取得该属性值的话,那么结果是checked或undefined,但如果用JS直接访问这个属性,会得到true或false.
这是因为JQ并不是直接返回该属性的值.
比如:
alert(document.getElementById('toggleAll').checked);
在选中的状态下,会得到true,否则会得到false
事实上,标准的checked属性值应该是true与false,设置为checked是不太规范的,因为checkbox返回的checked属性的值也是true或false,而不是checked,即使你设置checked=“checked”,checked返回的是“true”。
选中后,checkbox的checked属性值会由false变为true。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步