对于文档中已存在的对象,我需要getElementById
在示例中,我想获得元素“test”,它是parentDiv1
的子
它在FF中工作正常,但不适用于IE。有小费吗?
示例:
<div id="parentDiv1">
<ul id="test1">test</ul>
</div>
<div id="parentDiv2">
<ul id="test2">test</ul>
</div>
<script>
var prtDiv1 = document.getElementById("parentDiv1");
var test1 = prtDiv1.getElementById("test1");
</script>
答案 0 :(得分:1)
您的文档中不应包含多个具有相同ID的元素。使用课程。 最简单的方式让您按照自己的意愿行事,然后使用jQuery并编写$('#parentDiv1 ul.test')
来选择您的元素。除了jQuery之外,你需要在IE中的javascript中实现getElementsByClassName
,因为afaik它本身仍然不支持它。
编辑:确保没有任何与目标ID具有相同值的“名称”属性,并且您设置的js变量的名称与目标ID不同。
答案 1 :(得分:0)
在节点上调用getElementById
是非标准的......如果你想获得ID为test1
的元素(因为它是它的id,这个应该是唯一的)并检查它是标识为parentDiv1
的元素的子元素,而不是使用它:
// get the node with ID `test1` in the document
var test1 = document.getElementById("test1");
// Check if it is a child of `parentDiv1`
var isChild = document.getElementById("parentDiv1").contains(test1);
您可以查看有关contains
here的MDN文档。