我使用以下代码创建了一个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的属性子节点
答案 0 :(得分:3)
您必须将bannerBox
div放在文档中,方法是将其传递到appendChild
或insertBefore
文档中的某个元素上(例如document.body
) :
document.body.appendChild(bannerBox);
(但它可以是文档中的任何元素,不一定是body
。)
一旦它出现在文档中,您就可以按照id
的方式检索它。
当然(这不是你遇到的问题,但它可能是下一个问题),bannerBox
有任何子节点(例如,{{ 1}}不要是空的childNodes
),你需要在其中加入一些东西。从您的变量名称,我想你可能想要将NodeList
放入其中,例如:
bannerAd