javascript div儿童不工作
随着年代库,我正在将RSS订阅源加载到我的HTML文档中。这工作。javascript div儿童不工作
但后来我想从我的JavaScript访问的div。
我可以查找父节点(var test)并将其放入控制台。但是,当我想要得到的子元素的数量,则返回0。
我用下面的代码:
var test = document.querySelector('#History_0');
console.log("test:");
console.log(test); //Returns <div class="item_trackHistory rss-feed" id="History_0">
console.log("test.childElementCount:");
console.log(test.childElementCount); //Returns 0
不过,我可以看到子元素我想在检查访问。
为什么我可以看到#History_0-div
的孩子们在开发工具,但属性childElementCount
返回0?
如何在JavaScript中访问元素的子元素?
对不起,我第一次编辑我的问题时出错。 这里是整个函数调用。我也从下面输入了建议的解决方案。不幸的是,它没有解决。
code
for (var i = 0; i < obj.results.length ; i++){
var div = "History_" + i
getRSS(div ,obj.results[i].feedUrl, i);
}
code
this.getRSS = function(div, link, iteration){
$('#'+div+'').yrss(link,{
limit: 50,
dateformat: 'localedate',
tags:'true',
logging:'false'
});
var parent = document.querySelector('#History_'+iteration+'');
var childCount = 0;
if (parent !== null){
var childElements = parent.getElementsByClassName('entry-wrapper');
console.log(childElements);
console.log(childElements.item(0));
if(childElements !== null){
childCount = childElements.length;
console.log(childCount);
}
}
ChildElements的执行console.log返回一个HTML集合,其中似乎有20个条目。但是控制台记录ChildElement.item(0),它返回null。 childCount的控制台日志返回0.
有没有人有一个想法,如何访问childElements? 在我的整个js文件中,我应该调用一个访问div的函数,yrss函数创建?
不是别人指出的最好的问题,但是,我们可以看一些简单的东西。我不确定页面加载后页面是否加载RSS提要。我相信不会,并会回答它假设的确如此。
你可以在这里看到我工作的代码示例: https://codepen.io/vincentritter/pen/vJmBrd?editors=1010
我已经添加笔记了。这里是最重要的片段,让你开始。
// Grab 'parent' div - History_0 or by class name 'rss-feed'
var parent = document.querySelector('.rss-feed');
var childCount = 0; // Just want to spit this out on the page so you can see.
// Check if parent isn't null
if(parent !== null){
// Get child elements by class name
var childElements = parent.getElementsByClassName('entry-wrapper');
// Check if child elements isn't null...
if(childElements !== null){
// Print results, just so we can look.
childCount = childElements.length;
console.log(childCount);
}
}
我用你的图片作为参考。
要注意,我通过他们的类名抓取东西。只是发现更容易。但每个人都是不同的,无论你为什么工作。
这应该让你至少去。
谢谢你的回答,文森特。不好意思,它没有完全解决。我更新了我上面的原始问题,以便您可以看到更多的代码。你有一个想法,我应该把你的代码片段访问子div? – AukiJuanDiaz
可能是因为它们是在代码运行后插入的。提供一个[mcve] – charlietfl
请在您的问题中包含所有代码作为_text_,而不是图片。 – jmoerdyk