使用JavaScript访问div的子节点

时间:2013-03-12 11:06:38

标签: javascript html

我使用以下代码创建了一个div ...

var bannerBox = document.createElement("div");
bannerBox.id = "bannerBox";

......以及第二个div如下......

var bannerAd = document.createElement("div");
bannerAd.className = "bannerAd";

上述div已在一个函数中创建。现在在另一个函数中,我尝试访问第一个div,如下所示......

var allAds = document.getElementById("bannerBox").childNodes; 

...但它产生了这个错误: 未捕获的错误无法读取null的属性子节点

1 个答案:

答案 0 :(得分:3)

您必须将bannerBox div放在文档中,方法是将其传递到appendChildinsertBefore文档中的某个元素上(例如document.body) :

document.body.appendChild(bannerBox);

(但它可以是文档中的任何元素,不一定是body。)

一旦它出现在文档中,您就可以按照id的方式检索它。

当然(这不是你遇到的问题,但它可能是下一个问题),bannerBox有任何子节点(例如,{{ 1}}不要是空的childNodes),你需要在其中加入一些东西。从您的变量名称,我想你可能想要将NodeList放入其中,例如:

bannerAd