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
的信息 演示     

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...