HTML:
<input type="checkbox" aria-checked="false" class="cloud-private" value="" data-spm-anchor-id="a800.io">
我的java腳本:(如果未選中,我想單擊此復選框,但這不起作用)
var z = document.getElementsByClassName('cloud-private');
if (z[0].aria-checked=='false'){
z[0].click();
}
uj5u.com熱心網友回復:
不應該aria-checked以這種方式在這里使用。應該使用MDN 上checked的復選框規范中所示的屬性。
let cloudPrivateCbxs = document.querySelectorAll('.cloud-private');
if (cloudPrivateCbxs && !cloudPrivateCbxs[0].checked) {
cloudPrivateCbxs[0].click();
}
這里我使用了一個有用的變數名(從不使用單字母變數名,除了像for回圈中的簡單計數器),使用querySelectorAll而不是getElementsByClassName,然后我首先檢查變數是否包含任何內容,然后我只是檢查checked屬性以查看它是否回傳 false . 它回傳一個布林值,所以我可以使用邏輯 NOT 運算子!,而不是直接檢查它是否等于 false。
uj5u.com熱心網友回復:
您可以使用querySelector該類和該 aria-checked 屬性來查找元素。然后點擊它。只要確保你拼寫正確(例如,詠嘆調,而不是區域)。
const selector = '.cloud-private[aria-checked="false"]';
const z = document.querySelector(selector);
// If the element exists, check it
z && z.click();
<input type="checkbox" aria-checked="false" class="cloud-private">
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/488514.html
標籤:javascript html dom
下一篇:是否可以在反應組件中使用條件?
