事实上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。
原文地址:https://www.cnblogs.com/QianBoy/p/8143417.html
时间: 2024-10-13 10:29:58