首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取元素集合

获取元素集合
EN

Stack Overflow用户
提问于 2011-12-05 18:24:51
回答 6查看 237关注 0票数 0

如何获取元素的集合?

代码语言:javascript
复制
var tst = this.tbl_list.find('col');
alert('length = '+tst.length);
for(var key in tst){
    alert(tst[key][0].tagName);
}

这会警告length = 7 (这是正确的计数),但每个元素都是undefined!?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-12-05 18:35:18

这是因为当你使用for in时,你也会遍历所有的jQuery方法(findchildren等);而且这些方法都没有[0].tagName (更多关于为什么要看JavaScript for...in vs for的信息)。

相反,您应该使用each(),或者使用for (;;;)循环;

代码语言:javascript
复制
var tst = this.tbl_list.find('col');
alert('length = '+tst.length);
for(var i=0;i<tst.length;i++){
    alert(tst[i].tagName);
}

您可以在此JSFiddle;http://jsfiddle.net/nTCSY/中看到使用它们的区别

使用each(),你将拥有;

代码语言:javascript
复制
tst.each(function () {
    alert(this.tagName);
});
票数 3
EN

Stack Overflow用户

发布于 2011-12-05 18:35:46

如果没有看到你的标记,很难说出哪里出了问题,但是像这样的东西应该是有效的-

代码语言:javascript
复制
tst.each(function() {
   alert(this.tagName)
});

演示- http://jsfiddle.net/UjfUy/1/

票数 3
EN

Stack Overflow用户

发布于 2011-12-05 18:28:50

也许你需要each

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8383877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档