HTML :
<input type="checkbox" aria-checked="false" class="cloud-private" value="" data-spm-anchor-id="a800.io">
My java script : ( i want to click this checkbox if it is not checked ,but this does not work )
var z = document.getElementsByClassName('cloud-private');
if (z[0].aria-checked=='false'){
z[0].click();
}
Advertisement
Answer
Should not be using aria-checked here in this way. Should be using the checked attribute as is shown in the checkbox spec on MDN.
let cloudPrivateCbxs = document.querySelectorAll('.cloud-private');
if (cloudPrivateCbxs && !cloudPrivateCbxs[0].checked) {
cloudPrivateCbxs[0].click();
}
Here I used a useful variable names (never use single letter variable names except for simple counters like those in for loops), used querySelectorAll instead of getElementsByClassName, then I first check if the variable contains anything, then I simply check the checked attribute to see if it returns false. It is returning a boolean so I can use the logical NOT operator ! rather than check directly if it is equal to false.