我在同一页面中过滤了更多同意ID的问题。
document.getElementById(val1).innerHTML=xmlhttp.responseText;
我在一个页面上有三个相同的<div id="name"></div>
。并且只有第一个div显示内容。我尝试使用jQuery和过滤器...但我没有进展。
答案 0 :(得分:1)
document.getElementById
仅返回具有指定ID
的第一个元素。 Id
应始终是唯一的。
您可以尝试使用其他属性,例如class
,然后使用
document.getElementsByClassName("myClass")
将返回给定类的所有元素。
答案 1 :(得分:1)
id选择器是返回一个唯一元素的东西(如果没有找到,则返回none)。这就是为什么你不应该使用多个ID - 它总是[最多]只返回一个(第一个)。
使用类或其他东西修复该错误。
如果你真的需要获得具有相同id的多个元素,可以使用属性选择器:
$('[id="name"]').html(xmlhttp.responseText);
// or
[].forEach(document.querySelectorAll('[id="name"]'), function(el) {
el.innerHTML = xmlhttp.responseText;
});
答案 2 :(得分:0)
id
应该是唯一的。您不应在同一页面上具有两个或多个具有相同ID的元素。您可以使用类名来标识它们,这些名称绝对可以相同。我不知道您的代码,但尝试使用document.getElementsByClassName
(在IE8中不支持),或使用jQuery简化您要执行的操作:$('.my_class_name').html(xmlhttp.responseText)