Javascript 使用onclick函数将类添加到div
我试图找到一些方法来解决我的问题,那就是在单击Javascript 使用onclick函数将类添加到div,javascript,Javascript,我试图找到一些方法来解决我的问题,那就是在单击divs时将类添加到div中,但我无法使其工作 var el = document.getElementsByClassName('applications'); var i; for (i = 0; i < el.length; i++) { el[i].addEventListener("click", function() { if (el[i]) { el[i].className += el[i].classN
div
s时将类添加到div中,但我无法使其工作
var el = document.getElementsByClassName('applications');
var i;
for (i = 0; i < el.length; i++) {
el[i].addEventListener("click", function() {
if (el[i]) {
el[i].className += el[i].className ? ' openDiv' : 'openDiv';
}
});
}
var el=document.getElementsByClassName('applications');
var i;
对于(i=0;i
我之所以使用“for循环”,是因为我使用了getElementsByClassName
,它给出了一个节点列表。我还创建了一个代码笔示例:
不要使用复杂的字符串操作,而是使用: 我相信您可能需要为eventListeners添加一个闭包才能正常工作 因此,这将被视为一种解决方案:
var el = document.getElementsByClassName('applications');
var i;
for (i = 0; i < el.length; i++) {
(function (i) {
el[i].addEventListener("click", function() {
if (el[i]) {
el[i].classList.add('openDiv');
}
});
})(i);
}
var el=document.getElementsByClassName('applications');
var i;
对于(i=0;i
不要使用复杂的字符串操作,请使用:
我相信您可能需要为eventListeners添加一个闭包才能正常工作
因此,这将被视为一种解决方案:
var el = document.getElementsByClassName('applications');
var i;
for (i = 0; i < el.length; i++) {
(function (i) {
el[i].addEventListener("click", function() {
if (el[i]) {
el[i].classList.add('openDiv');
}
});
})(i);
}
var el=document.getElementsByClassName('applications');
var i;
对于(i=0;i
看起来您可能会遇到闭包问题,如果您在方法中警告i
的值,您可能会发现它总是el.length
或undefined在addEventListener
中,el[i]
未定义(单击时)。确实是闭包。看起来您可能会遇到闭包问题,如果您在方法中警告i
的值,您可能会发现它总是el.length
或undefined在addEventListener
中,el[i]
未定义(单击时)。确实是闭包。我认为它无论如何都不能解决问题。。。可能是改进现有代码的建议…@ArunPJohny我是。。。可以我的建议是正确的,因为这可能行不通。我还说过,使用闭包将起作用。但是没有提供代码。@PraveenKumar,我猜if(el[I]){
在这里没有扮演任何角色,可能会增加混乱。@RayonDabre是的,有一件事是,看起来那个人实际上在检查该元素是否存在。好的事情只有对吗?@RayonDabre是的,看起来对……让我们看看OP是怎么回事。如果他们有问题,肯定会回来。所以他们肯定会检查Commonts.让我看看。谢谢你的见解!:)
我认为它无论如何都不能解决问题…可能是建议改进现有代码…@ArunPJohny我是…好的..我是在建议正确的方法,因为那可能不起作用。我也说过使用闭包会起作用。但我没有提供代码。@PraveenKumar,我猜if(el[i]){
在这里没有扮演任何角色,可能会增加混乱。@RayonDabre是的,有一件事是,看起来那个人实际上在检查该元素是否存在。好的事情只有对吗?@RayonDabre是的,看起来对……让我们看看OP是怎么回事。如果他们有问题,肯定会回来。所以他们肯定会检查Common让我看看。谢谢你的见解!:)