Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
选择子ByClassName Javascript_Javascript - Fatal编程技术网

选择子ByClassName Javascript

选择子ByClassName Javascript,javascript,Javascript,我在同一页上有许多类似以下呈现的div: <div class="contentUser"> <div class="innerContent"> Some data </div> <div class="contentButtonWrap"> Some buttons </div> </div> 以下是我的看法: 函数avoidHover(){ var u

我在同一页上有许多类似以下呈现的div:

<div class="contentUser">
    <div class="innerContent">
        Some data
    </div>

    <div class="contentButtonWrap">
        Some buttons
    </div>
</div>
以下是我的看法:

函数avoidHover(){
var userDivs=document.getElementsByClassName('contentUser');
对于(var i=0;i“onclick”而不是“click”。很抱歉

function avoidHover() {
    var userDivs = document.getElementsByClassName('contentUser');
    [].forEach.call(userDivs, function(e){
        e.onclick = function(){

            var target = e.getElementsByClassName('contentButtonWrap');
            target[0].style.backgroundColor='green';
            };
    });
};

不,我希望解决方案是纯javascriptI,我想你想使用
e.onclick
?顺便说一句,更好地命名变量
el
,因为
e
通常用于事件。效果很好->,但我会使用
addEventListener
?可能是因为它是
onclick
,正如多次提到的那样above@epascarelloTh这就是问题所在,我的方式works@Daniel威廉姆斯-非常感谢。我有一个拼写问题(点击而不是点击),我的方式和你的一样有效。有什么理由让你的方式在我的上面循环吗?
function avoidHover() {
    var userDivs = document.getElementsByClassName('contentUser');

    for(var i=0; i<userDivs.length; i++){
        userDivs[i].onclick = function(){
            var target = this.getElementsByClassName('contentButtonWrap');
            target[0].style.backgroundColor='green';
        };
    }
};
function avoidHover() {
    var userDivs = document.getElementsByClassName('contentUser');
    [].forEach.call(userDivs, function(e){
        e.onclick = function(){

            var target = e.getElementsByClassName('contentButtonWrap');
            target[0].style.backgroundColor='green';
            };
    });
};