使用JavaScript访问div的子节点

使用JavaScript访问div的子节点,javascript,html,Javascript,Html,我使用以下代码创建了一个div var bannerBox = document.createElement("div"); bannerBox.id = "bannerBox"; …和第二个div,如下所示 var bannerAd = document.createElement("div"); bannerAd.className = "bannerAd"; var allAds = document.getElementById("bannerBox").childNodes;

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

var bannerBox = document.createElement("div");
bannerBox.id = "bannerBox";
…和第二个div,如下所示

var bannerAd = document.createElement("div");
bannerAd.className = "bannerAd";
var allAds = document.getElementById("bannerBox").childNodes; 
上述div是在一个函数中创建的。现在在另一个函数中,我尝试访问第一个div,如下所示

var bannerAd = document.createElement("div");
bannerAd.className = "bannerAd";
var allAds = document.getElementById("bannerBox").childNodes; 
…但它会产生以下错误:
未捕获错误无法读取null的属性childnodes

您必须将
bannerBox
div实际放入文档中,方法是将其传递到文档中某个元素的
appendChild
insertBefore

(但它可以是文档中的任何元素,不必是
body

一旦它出现在文档中,您就可以通过
id
以您显示的方式检索它

当然(这不是您遇到的问题,但可能是下一个问题),对于
bannerBox
要有任何子节点(例如
childNodes
不是空的
NodeList
),您需要在其中放入一些内容。根据变量名,我想您可能希望在其中添加
bannerAd
,例如:

bannerBox.appendChild(bannerAd);

我使用了此文档。getElementsByTagName('body')[0]。appendChild(bannerBox);但它产生错误,无法调用的appendchild方法undefined@AmberAslam:如果您在文档的
标题
中使用了该代码,这可能就是原因(还没有
正文
)。将包含代码的
脚本
标记移动到
正文
标记中应该对其进行排序。