Javascript 长度获取错误值
因此,我有以下代码:Javascript 长度获取错误值,javascript,jquery,console,console.log,Javascript,Jquery,Console,Console.log,因此,我有以下代码: function getSubs(){ $element = document.getElementsByClassName("comclass"); console.log($element); $parents = document.getElementsByClassName("parclass"); console.log($parents); $length = $parents.length; console.log($length); } 出于某种未知的原因
function getSubs(){
$element = document.getElementsByClassName("comclass");
console.log($element);
$parents = document.getElementsByClassName("parclass");
console.log($parents);
$length = $parents.length;
console.log($length);
}
出于某种未知的原因,$parents的控制台日志显示元素的数量,使用chrome console查看元素的长度显示实际长度,但$length的控制台日志不计算具有类“parclass”的子元素,即使$parents显示了它们。。有没有办法解决这个问题
编辑:
以下是一些HTML:
<div id="comment" class="comclass">
<div id="parent" class="parclass">
<h4>Texto:</h4>asd<br>
<h4>User:</h4>alan<h6 onclick="inputSub(this)">Com</h6>
<p id="id">24</p>
</div>
<div id="input"></div>
<div id="childs">
<div id="comment" class="comclass">
<div id="parent" class="parclass">
<h4>Texto:</h4>dd<br>
<h4>User:</h4>alan<h6 onclick="inputSub(this)">Com</h6>
<p id="id">25</p>
</div>
<div id="input"></div>
<div id="childs"></div>
</div>
</div>
</div>
<div id="comment" class="comclass">
<div id="parent" class="parclass">
<h4>Texto:</h4>a<br>
<h4>User:</h4>alan<h6 onclick="inputSub(this)">Com</h6>
<p id="id">31</p>
</div>
<div id="input"></div>
<div id="childs"></div>
</div>
Texto:asd
用户:alanCom
24
Texto:dd
用户:alanCom
25
Texto:a
用户:alanCom
31
问题是,childs内部的“.comment”是用PHP和Ajax生成的,选择器找不到它。好吧,既然您用
jQuery
标记了这个问题,我将尝试为您提供一个jQuery实现(这可能会对您有所帮助):
执行的查询应返回一个列表,其中包含名为.comclass(第一条语句)和.parclass(第二条语句)的类的所有元素
如果这对您没有任何帮助,请编辑发布部分HTML的问题,以便我们重现错误。请也共享相关的HTML。
getSubs
是否在$(文档)上被调用。就绪
?与命令“getElementsByClassName”不同,您的只返回2个元素和2个父元素,甚至认为还有另一个。我只记得第三个是在调用函数后生成的,这可能就是问题所在。但是为什么“GetElementsByCassName”可以找到第三个元素,$(“.parclass”)却找不到呢?@alaneugenio,你真的应该用整个代码更新你的问题来复制你的问题。这里的问题是,我的大部分代码都是用PHP和Ajax生成的,“真正的”HTML几乎是空的,你不能从浏览器中获得它吗(当HTML已经提供并完成时)?如果您使用AJAX或任何关联调用将HTML组合在一起,那么当该函数运行时,您无法确切地知道DOM中已经存在什么…在这种情况下,您必须从整个页面的组装的完成点调用它。
function getSubs(){
var element = $(".comclass");
console.log(element);
var parents = $(".parclass");
console.log(parents);
var length = $(parents).length;
console.log(length);
}