使用Javascript选择一个元素

使用Javascript选择一个元素,javascript,html,css,Javascript,Html,Css,嘿,Stackoverflow开发者,我有这个代码 <div id="1"></div><div id="2"></div><div id="3"></div><div id="4"></div><div id="5"></div><br> <div id="6"></div><div id="7">&

嘿,Stackoverflow开发者,我有这个代码

    <div id="1"></div><div id="2"></div><div id="3"></div><div id="4"></div><div id="5"></div><br>  
        <div id="6"></div><div id="7"></div><div id="8"></div><div id="9"></div><div id="10"></div><br>
        <div id="11"></div><div id="12"></div><div id="13"></div><div id="14"></div><div id="15"></div><br>
        <div id="16"></div><div id="17"></div><div id="18"></div><div id="19"></div><div id="20"></div><br>
        <div id="21"></div><div id="22"></div><div id="23"></div><div id="24"></div><div id="25"></div><br>        

        <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/0.5.11/p5.min.js"></script>
        <script src="../sketch.js"></script>
        <script>
document.getElementsByTagName("div")[0].addEventListener("click", displayDate);

function displayDate() {
    this.style.backgroundColor = 'red';
}
</script>





document.getElementsByTagName(“div”)[0]。addEventListener(“单击”,显示日期); 函数displayDate(){ this.style.backgroundColor='red'; }

我希望能够单击一个div,让Javascript(而不是jQuery)只更改单击的div的背景色。我已经尝试了所有方法。如何操作?

div在没有值/文本时被忽略。你的代码很好。只需在div中添加一些内容

某些值




document.getElementsByTagName(“div”)[0]。addEventListener(“单击”,显示日期); 函数displayDate(){ this.style.backgroundColor='red'; }
我认为您的div不可见,因为它没有内容,也没有高度或宽度。我用css添加了高度和宽度,然后就成功了。 您还可以按照上面的建议添加内容。
document.getElementsByClassName('test')[0]。addEventListener('click',函数(事件){
this.style.backgroundColor='red';
});
.test{
宽度:300px;
高度:300px;
背景颜色:蓝色;
}

您可以使用
.queryselectoral()
选择所有具有
id的
div
元素,迭代
div
元素的
节点列表,在循环中附加
单击
处理程序







让divs=document.querySelectorAll(“div[id]”); 对于(让div中的div){ div.textContent=div.id; div.addEventListener(“单击”,显示日期); } 函数displayDate(){ this.style.backgroundColor='red'; }
不要将侦听器添加到每个div,而是考虑向父对象添加侦听器,并使用<代码>事件>目标<代码>发现被点击的元素。所有的答案都是惊人的!谢谢社区!但是这个可以引用div,而不需要明确地提及它,这就是我试图解决的问题。谢谢