(在第一个问题制定得非常糟糕之后我又问了我的问题)
我面临以下问题:
<div class="testA" id="test1"></div>
上面写的元素是预定义的。我现在通过 XMLHttpRequest & Co. 加载一个 xml 树提供以下响应:
<response>
<div class="colorSelector" id="0-0">
<div class="gbSelector" id="1-0">
<table style="none" id="2-0"></table>
</div>
</div>
</response>
我现在附加第一个 div
使用
request.responseXML.getElementsByTagName("response")[0]
.getElementsByTagName("div")[0]
进入预定义的div
<div class="testA" id="test1">
最终文档如下所示(使用开发工具检查):
<div class="testA" id="test1">
<div class="colorSelector" id="0-0">
<div class="gbSelector" id="1-0">
<table style="none" id="2-0"></table>
</div>
</div>
</div>
当我现在尝试获取元素 <div class="colorSelector" id="0-0">
时使用 getElementById("0-0")
我得到了预期的结果。
但使用 getElementsByClassName("colorSelector")
返回 []
.
我错过了什么吗?这可能是节点类型为 Element
的事实的遗留问题吗?而不是 HTMLElement
?
最佳答案
colorSelector
被注释掉了。 JavaScript 仅在 DOM 中运行,被注释掉的部分不在 DOM 中。
关于javascript - getElementsByClassName 返回 [] 而不是异步附加节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7615162/