繁体   English   中英

Javascript-在div中定位p标签不会返回任何内容

[英]Javascript - targeting p tags within a div not returning anything

我有两个div属于“事物”类。 我想使用javascript访问它们中的所有p标签,并更改它们的颜色。 这是我正在尝试的方法,但是不起作用:

<div id="top" class="thing">
    <p>kdjflksj siuiotue</p>
    <p>kdjflksj siuiotue</p>
    <p>kdjflksj siuiotue</p>    

</div>

Java脚本

   var changes = document.getElementsByClassName("thing");
   var pchanges = changes.getElementsByTagName("p");

   for(let i = 0; i < pchanges.length; i++) {

    pchanges[i].onmouseover = function() {

        this.style.color = "blue";
    }

    pchanges[i].onmouseout = function(){
        this.style.color = "black";
    }

}

javascript在window.onload函数中。

您的变量changes是一个HTMLCollection ,它没有getElementsByTagName方法。 您必须在集合内的每个元素上调用该方法以获得所需的内容。 但是,这看起来像是使用document.querySelectorAll的好地方,因此您可以在一次调用中获得所需的元素:

 var pchanges = document.querySelectorAll(".thing p"); for(let i = 0; i < pchanges.length; i++) { pchanges[i].onmouseover = function() { this.style.color = "blue"; } pchanges[i].onmouseout = function(){ this.style.color = "black"; } } 
 <div id="top" class="thing"> <p>kdjflksj siuiotue</p> <p>kdjflksj siuiotue</p> <p>kdjflksj siuiotue</p> </div> 

您可以使用以下内容

var paragraphs = document.querySelectorAll('#top p')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM