Ajax,按id过滤div。

时间:2013-06-03 17:32:50

标签: javascript ajax

我在同一页面中过滤了更多同意ID的问题。

document.getElementById(val1).innerHTML=xmlhttp.responseText;

我在一个页面上有三个相同的<div id="name"></div>。并且只有第一个div显示内容。我尝试使用jQuery和过滤器...但我没有进展。

3 个答案:

答案 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)