使用JavaScript访问div的子节点
我使用以下代码创建了一个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;
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:如果您在文档的
标题
中使用了该代码,这可能就是原因(还没有正文
)。将包含代码的脚本
标记移动到正文
标记中应该对其进行排序。