我试图.click()
数组中的所有项目,我该怎么办呢?
JQuery无法使用。
var information = document.getElementsByClassName("menu-list-element menu-list-element-basic clickable with-icon-left with-icon-right ");
for (i = 10; i < information.length; i++) {
//.click() all items in the information array
}
答案 0 :(得分:2)
您可以使用:
var elements = document.getElementsByClassName("class");
for (var i = 0, len = elements.length; i < len; i++) {
elements[i].click();
}
工作DEMO。
document.getElementById("btn").addEventListener("click", myFunction, false);
function myFunction() {
var elements = document.getElementsByClassName("example");
for (var i = 0, len = elements.length; i < len; i++) {
elements[i].click();
}
}
.example {
width: 50px;
height: 50px;
background-color: red;
cursor: pointer;
margin: 10px;
}
<input type="checkbox" class="example">
<input type="checkbox" class="example">
<input type="checkbox" class="example">
<input type="checkbox" class="example">
<input type="checkbox" class="example">
<button id="btn">
Simulate click
</button>
P.S。 .click()
(正如您所说)不是click event
,而是一个模拟点击事件的javascript函数,来自MDN:
HTMLElement.click()方法模拟鼠标单击元素。
如果您想将click
用作活动:
var elements = document.getElementsByClassName("example");
for (var i = 0, len = elements.length; i < len; i++) {
elements [i].addEventListener("click", function() {
/* Do your stuffs here */
});
}
或者使用Jquery:
改为使用jquery .each()
:
$(".class").each(function(){
$(this).click();
/* Or for the event */
$(this).click(function() {
/* Do your stuffs here */
});
}
答案 1 :(得分:0)
您可以使用querySeletorAll
var elementList = document.querySelectorAll('.class');
它返回一个列表,因此你必须遍历列表中的每个元素并添加事件处理程序:
for (var i = 0; i < elementList.length; i++) {
elementList[i].addEventListener(".click", function() {
// handle click
});
}
答案 2 :(得分:0)
您可以执行以下操作:
var information = document.getElementsByClassName("...");
var info_items = Array.from(information.children); // Extracts all the child elements and transforms them into an Array
info_items.forEach(item => {
$(item).click(function() {
/*
Your code for when each item is clicked
You can also access data for each item using event.target
*/
});
});
event.target
是jQuery的资源,可用于访问事件目标的数据。您可以获取id,className,nodeName等数据。