gpt4 book ai didi

javascript - $ ("p").each(function (){}) vs for( p in $ ("p") 返回不同的段落数值

转载 作者:行者123 更新时间:2023-11-30 16:14:32 27 4
gpt4 key购买 nike

在下面的 HTML 代码上运行此 jQuery 代码会返回不同的结果,我认为它们应该返回相同的值。

jQuery 代码:

var counter = 0;
$("p").each(function(){
counter++;
});
console.log(counter); //returns 8

//-------------------------------------

counter = 0;
var ps = $("p");
for( var p in ps){
counter++;
}
console.log(counter); //returns 158

HTML 代码:

<li class="article-item">
<p>--</p>
<p> -- </p>
</li>
<li class="article-item">
<p>--</p>
<p> -- </p>
</li>

<li class="article-item">
<p>--</p>
<p> -- </p>
</li>
<li class="article-item">
<p>--</p>
<p> -- </p>
</li>

最佳答案

for in循环将遍历对象的可枚举属性,直到原型(prototype)链的末端。所以它不能在这种情况下使用。您可以简单地使用 console.log($("p").length) 来查找使用该选择器抓取的元素的数量。

理解 for-in 循环的最佳示例是,

var x = [1,2];
for(var prop in x){ console.log(prop) }
//This will print 0,1,length

关于javascript - $ ("p").each(function (){}) vs for( p in $ ("p") 返回不同的段落数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35716301/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com