問題描述

看了 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇