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

标签 javascript css

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

<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"> 的 #2 column-1| 的内容。

非常感谢这里的任何帮助,在此先感谢

最佳答案

上面的代码有两个问题。首先,您的 .querySelectorAll() 应该针对;您需要指定句号。二、i .innerHTML 需要小写。

修复这两个错误后,您只能通过运行基于 modulo 的条件将更改应用于每个 second 元素 共 2 个使用 i % 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>标记自己。请注意,这不需要条件:

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>

希望对您有所帮助! :)

关于javascript - 在每个 div X 中选择 #2 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45602442/

相关文章:

javascript - 移动友好的 CSS 下拉导航

javascript - 放置在 "Dist"文件夹中的文件位置错误,破坏了 Angular 2 应用程序

javascript - Bootstrap 输入组 btn 在 jquery 验证启动后下推

html - CSS3 下拉菜单不会从 li 和 ul 之间的空白保持打开状态

jquery - 图像元素不会缩放到 Firefox 或 Chrome 中的屏幕大小?

css - 如何创建带有渐变的动画以填充整个按钮

javascript - 如何将对象从数据属性传递到VueJS中的方法

javascript - 动态添加和删除元素样式的最佳方法

javascript - 没有在嵌入式 Power BI 报告中获取 report.getPages

html - 增加 HTML 正文中的光标大小