問題描述
看了 HTML 規範,但不能使頭或尾:http://www.w3.org/TR/html5/the-input-element.html#attr-input-checked
檢查 HTML 中的複選框 (不是動態) 的正確方法是什麼?
checked="true"
checked="checked"
取消選中複選框的正確方法是什麼?
<input type="checkbox" /> with no checked attribute
checked="false"
checked="none"
在哪裏檢查 HTML 規範來檢查/取消選中複選框?
最佳解決辦法
<input type="checkbox" checked="checked" />
或簡單地
<input type="checkbox" checked />
選中複選框。未勾選的勾選屬性 (<input type="checkbox" />) 複選框。
參考:http://www.w3.org/TR/html-markup/input.checkbox.html#input.checkbox.attrs.checked
次佳解決辦法
根據 HTML5 草案,checked 屬性是 「boolean attribute」,「元素上的布爾屬性的存在表示真實值,而不存在屬性則表示虛假值」 。屬性的名稱事情足夠了。因此,要使一個複選框初始檢查,您使用
<input type=checkbox checked>
默認情況下,在沒有 checked 屬性的情況下,最初未選中複選框:
<input type=checkbox>
保持這種方式可以使它們變得簡單,但是如果您需要遵循 XML 語法 (即在 XHTML 線性化中使用 HTML5),則不能單獨使用屬性名稱。然後,允許的 (按照 HTML5 草稿) 的值是空字符串和字符串 checked,不區分大小寫。例:
<input type="checkbox" checked="checked" />
第三種解決辦法
<input type="checkbox" checked />
HTML5 不要求屬性具有值
第四種辦法
您可以在 w3schools 上參考此頁面,但基本上您可以使用以下任何一種:
<input checked>
<input checked="checked">
<input checked="">
第五種辦法
在 jQuery 中:
選中複選框:
$("#checkboxid").attr("checked","checked");
要取消選中複選框:
$("#checkboxid").removeAttr("checked");
其他答案提示解決方案,並指出您進一步挖掘之後的文檔將讓您得到這個答案。 Jukka K. Korpela 有理由這是正確的答案,基本上我按照他的鏈接,然後查找 jQuery 文檔來獲得這個結果。只是想到我會保存未來的人誰找到這篇文章那些額外的步驟。
第六種辦法
羅伯特答案的補充答案 http://jsfiddle.net/ak9Sb/在 jQuery 中
獲取/設置複選框狀態時,可能會遇到這些現象:
.trigger("click");
檢查未勾選的複選框,但不要添加 checked 屬性。如果使用觸發器,不要嘗試使用”checked” 屬性獲取狀態。
.attr("checked", "");
不取消選中複選框…
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。