javascript:页面上出现两次相同的 div id

标签 javascript

我需要弄清楚是否可以对具有相同 ID 的两个相同元素执行相同的 javascript 操作。

我有一个框在页面上出现两次,内容相同:

<div class="my_box" id="23"> Some bit 23 </div>

<div class="my_box" id="23"> Some bit 23 </div>

然后我找到那个元素:(或那些?)

var my_box_find = document.getElementsByClassName('my_box');

经过一些处理/计算后想要替换/both/框的innerHTML:

document.getElementById(my_box_find[i].id).innerHTML = 'New bit 23';

这是一个极其简化的示例。但当我尝试更改的元素仅出现一次时,它会起作用。如果出现两次,则只有第一个实例会被更改...

大声思考:我想我可以在 ID 上附加一些随机数,使每个盒子伪唯一......但这会不必要地进行两次计算......我想要它们两者同时更新相同的信息。

最佳答案

ID 必须在页面中是唯一的。是invalid具有非唯一元素id

如果要对多个元素进行操作,请为每个元素分配一个类并循环遍历所选结果。一个类可以多次使用,一个元素可以分配多个类。

var els = document.getElementsByClassName('my_box');
for (var i = 0; i < els.length; i++) els[i].innerHTML = 'New bit 23';

或者,使用 jQuery:

$('.my_box').html('New bit 23');

关于javascript:页面上出现两次相同的 div id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14913844/

相关文章:

javascript - Laravel 获取预期的 url

javascript - 使 SVG 文本不可选择

javascript - React Native 允许使用 axios 自签名证书

javascript - Angular 获取全名

javascript - 带有自定义搜索栏的 jQuery 数据表

javascript - Bootstrap 模态不透明度仅适用于特定的 div,不适用于整个 body

javascript - YouTube 在身份验证时要求选择 channel

javascript - 创建大量 Firebase 对象

javascript - 哪个更适合 jQuery.ajax 调用? .Net Web 服务还是 .ashx?

javascript - Ember JS : Computed Property returning NaN