事實上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。
