gpt4 book ai didi

javascript - 迭代 jQuery $(this).attr ('class' ).split ("") 给出奇怪的结果

转载 作者:可可西里 更新时间:2023-11-01 02:31:40 26 4
gpt4 key购买 nike

我有一个页面,我正在尝试为许多共享一个公共(public)类的 div 获取类数组。例如:

<div class="common lorem ipsum"></div>
<div class="common dolor sit"></div>
<div class="common hello world"></div>

我想获取每个 common 类 div 并获取它的类的数组。目前,我正在通过使用 jQuery 的这一点来做到这一点:

$('.common').each(function(index) {
var classes = $(this).attr('class').split(" ");
for(var i in classes) {
alert(classes[i]);
}
});

查看第一个结果 classes 变量给出:

classes: Array (3)
0: "common"
1: "lorem"
2: "ipsum"
length: 3
__proto__: Array

问题是 for(var i in classes) 似乎在遍历 __proto__ 数组并深入研究它 - 有没有人遇到过这个以前?我使用的是最新版本的 Chrome (6.0.453.1)。

最佳答案

for ( var i = 0, l = classes.length; i<l; ++i ) {
alert( classes[i] );
}

使用常规的 for 循环遍历数组,而不是 for...in 否则它会枚举数组的属性(因为它仍然是一个对象并且除了内部元素之外还有其他属性).

关于javascript - 迭代 jQuery $(this).attr ('class' ).split ("") 给出奇怪的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3181190/

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