繁体   English   中英

在每个div X中选择#2元素

[英]Selecting #2 element inside every div X

我正在尝试制作一个脚本,它将像这样更改每次发生的内容:

<div id="random numbers">
<div class="column-1"></div>
<div class="column-1"><a href="...">this value I want to change</a></div>
<div class="column-1"></div>
</div>

其中有很多^

到目前为止,这是我尝试使用的代码:

var elements = document.querySelectorAll('column-1');

for ( var i=elements.length; i--; ) {
    elements[ i ].InnerHTML = "test";
}

但这是行不通的,我实际上只是在尝试整理一些代码,以替换每个<div id="random numbers">

感谢您的帮助,在此先感谢

您的上述代码有两个问题。 首先,您的.querySelectorAll()应该以该类为目标; 您需要指定句号。 其次, .innerHTMLi必须小写。

修复了这两个错误之后,您只能通过使用i % 2运行基于2的的条件,将更改应用于第二个元素,如下所示:

 var elements = document.querySelectorAll('.column-1'); for (var i = 0; i < elements.length; i++) { if (i % 2) { elements[i].innerHTML = "OVERRIDDEN"; } } 
 <div id="random numbers"> <div class="column-1">Should STAY</div> <div class="column-1"><a href="...">Should CHANGE</a></div> <div class="column-1">Should STAY</div> </div> 

如果您专门尝试定位<a>标记,则可以直接使用querySelectorAll('.column-1 a')本身进行.outerHTML如果要替换<a>标记本身,则可以使用.outerHTML 请注意,这不需要条件:

 var elements = document.querySelectorAll('.column-1 a'); for (var i = 0; i < elements.length; i++) { elements[i].outerHTML = "OVERRIDDEN"; } 
 <div id="random numbers"> <div class="column-1">Should STAY</div> <div class="column-1"><a href="...">Should CHANGE</a></div> <div class="column-1">Should STAY</div> </div> 

希望这可以帮助! :)

暂无
暂无

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

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