'How can I select elements with a class using getElementsByClassName and click them?
I cant seem to click all of the elements.
document.getElementsByClassName('node closed')[0].click();
This works but will only click on the first element. I need this to click all of the elements with class 'node closed'.
Thanks
Solution 1:[1]
[0] means only the first element of the node list returned by getElementsByClassName.
You have to do getElementsByClassName and iterate through all the matched elements like shown below:
var el = document.getElementsByClassName('node closed');
for (var i=0;i<el.length; i++) {
el[i].click();
}
Solution 2:[2]
iterate the result in a loop and assign click to each elements:
var list=document.getElementsByClassName('node closed')
for(var i=0;i<list.length;i++){
list[i].click()
}
Solution 3:[3]
document.getElementsByClassName has some issues in IE
use jquery
window.onload=function(){
$(.yourclass).each(function(){
$(this).trigger('click');
});
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | |
| Solution 2 | Nishad K Ahamed |
| Solution 3 | Voonic |
