我在同一页面中过滤更多相同的 id 时遇到问题。
document.getElementById(val1).innerHTML=xmlhttp.responseText;
我<div id="name"></div>
在一页上有三个相同的。并且只有第一个 div 显示内容。我尝试使用 jQuery 和过滤器......但我没有进展。
我在同一页面中过滤更多相同的 id 时遇到问题。
document.getElementById(val1).innerHTML=xmlhttp.responseText;
我<div id="name"></div>
在一页上有三个相同的。并且只有第一个 div 显示内容。我尝试使用 jQuery 和过滤器......但我没有进展。
id 选择器是返回一个唯一元素的东西(如果没有找到,则没有)。这就是为什么你不应该使用多个 id - 它总是会返回 [最多] 一个(第一个)。
通过使用类或其他东西来修复该错误。
如果您确实必须获取具有相同 id 的多个元素,您可以使用属性选择器:
$('[id="name"]').html(xmlhttp.responseText);
// or
[].forEach(document.querySelectorAll('[id="name"]'), function(el) {
el.innerHTML = xmlhttp.responseText;
});
document.getElementById
仅返回具有指定的第一个元素ID
。Id
应该始终是唯一的。您可以尝试使用其他属性class
,然后使用
document.getElementsByClassName("myClass")
这将返回给定类的所有元素。
id
s 应该是唯一的。您不应该在同一页面上有两个或多个具有相同 ID 的元素。您可以使用类名来识别它们,并且它们肯定是相同的。我不知道你的代码,但尝试使用document.getElementsByClassName
(在 IE8 中不支持),或使用 jQuery 来简化你正在尝试做的事情:$('.my_class_name').html(xmlhttp.responseText)