如何解决jQuery-如何列出div中包含的id元素
| 如果我有这样的div:<div id=\"box\">
<div class=\"but\" id=\"1\">Text 1</div>
<div class=\"but\" id=\"2\">Text 2</div>
</div>
如何创建#box
div中包含的.but
元素的所有ID的数组?
在示例中为[1,2]
。
解决方法
var ids = $(\'#box > .but\').map(function() {
return this.id || null;
}).get();
这将为#box
元素的每个.but
子元素创建一个条目,前提是它具有ID(null
值将被丢弃,如果元素没有ID,则this.id
将返回一个空字符串(其值为false
))。如果每个元素都绝对具有ID,或者您不希望/不希望数组中的值为空,则可以省略“ 10”部分。
如果要获取每个.but
后代的ID,请将选择器更改为:
$(\'#box .but\')
参考:.map()
,.get()
,您可以使用.each遍历结果集中的所有元素:
var ar=[]
$(\'div.but\').each(function(){
ar.push(this.id);
});
这是一个工作的小提琴。
,这应该工作:
var idArray = new Array();
$(\'#box .but\').each(function() {
idArray.push(this.id);
});
JSFiddle示例
,尝试类似
var idArray = new Array();
$(\".but\").each(function(index,item) { idArray.push(item.id); });
,这个怎么样:
var ar = jQuery(\'div#box\').children(\'.but\').map( function() {
return jQuery(this).attr(\'id\');
}).get();
alert(ar);
@flexi kling感谢漂亮的功能map
和get
的信息
演示
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。