Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.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
Javascript 这不是点击事件_Javascript_Html - Fatal编程技术网

Javascript 这不是点击事件

Javascript 这不是点击事件,javascript,html,Javascript,Html,我想样式的h1元素的颜色为黑色,而不是“这个”点击。因此,它会在单击时将h1变为红色,而不是变为黑色 <script> window.addEventListener('load', function() { var h1Loop = document.querySelectorAll("h1"); for(var i = 0; i < h1Loop.length; i++) { h1Loop[i].addEventListener("clic

我想样式的h1元素的颜色为黑色,而不是“这个”点击。因此,它会在单击时将h1变为红色,而不是变为黑色

<script>
window.addEventListener('load', function() {
    var h1Loop = document.querySelectorAll("h1");

    for(var i = 0; i < h1Loop.length; i++) {
        h1Loop[i].addEventListener("click", function () {
            this.style.color = "red";
            not this.style.color = "black"
        });
    }
});
</script>

<h1>Test</h1>
<h1>Testing</h1>
<h1>Test One</h1>

addEventListener('load',function()){
var h1Loop=document.queryselectoral(“h1”);
对于(变量i=0;i
您应该在单击回调中使用事件:

h1Loop[i]。addEventListener(“单击”),函数(e){
h1Loop.forEach(el=>el.style.color=“黑色”);
this.style.color=“红色”;
});

在事件处理程序内的元素上循环:

var h1Loop = document.querySelectorAll("h1");

for(var i = 0; i < h1Loop.length; i++) {
    h1Loop[i].addEventListener("click", function () {
        for(var j = 0; j < h1Loop.length; j++) {
           h1Loop[j].style.color = (h1Loop[j] === this) ? "red" : "black";
        }
    });
}
var h1Loop=document.querySelectorAll(“h1”);
对于(变量i=0;i
我认为下面的代码将处理您的请求

        h1Loop[i].addEventListener("click", function (e) {
            // Make all black
            h1Loop.forEach(h1 => {
                 h1.style.color = "black";
            });
            // Make target h1 color red
            e.target.style.color = "red";

        });

您可以像这样修改事件侦听器

window.addEventListener('load', function() {

var h1Loop = document.querySelectorAll("h1");

for(var i = 0; i < h1Loop.length; i++) {
    h1Loop[i].addEventListener("click", function () {
        for(var j = 0; j < h1Loop.length; j++) {// all header elements are changed to black
              h1Loop[i].style.color = "black"
        }
        this.style.color = "red";//clicked header element is changed to red
    });
}

});
window.addEventListener('load',function(){
var h1Loop=document.queryselectoral(“h1”);
对于(变量i=0;i

单击特定标题元素时,首先将所有标题元素的颜色更改为黑色。然后单击元素的颜色变为红色。这样,单击的元素单独显示为红色。希望这有帮助。

您还需要在处理程序中迭代
h1loop
,并将当前循环元素与
this
进行比较。为什么<代码>此
将正常工作。不管怎样,这都不能回答OPs的问题:“想把H1元素的颜色设计成黑色,而不是点击“这个”按钮。”谢谢你,这对我很有用。但是为什么我们需要再次循环H1来解决这个问题呢?有点困惑…因为当你点击一个元素时,之前点击的元素的颜色必须变成黑色。但我们永远不知道单击了前一个元素。因此,唯一可能的解决方案是使所有标题元素变为黑色,以便先前单击的元素变为黑色。