2012-03-24 56 views
4

可能重复:
How to get all of the IDs with jQuery?获取数组值使用JQuery?

我怎样才能得到值数组属性ID里面的 “跨度ID = '启用',” 如果使用jQuery?

<span id='enable'> 
<p id='105'>English</p> 
<p id='250'>Spanish</p> 
<p id='56'>German</p> 
</span> 
<span id='disable'> 
<p id='38'>BlaBla</p> 
<p id='46'>BlaBla2</p> 
<p id='87'>BlaBla3</p> 
</span> 
+0

我忘了补充:使用前请先搜索你问一个新问题。 – 2012-03-24 11:31:33

回答

20

您可以使用jquery的map函数。这将返回“英文”,“西班牙文”和“德文”的数组。

var myArray = $('#enable p').map(function(){ 
    return $(this).text(); 
}).get(); 

为了得到编号的列表,你可以做到这一点

var myArray = $('#enable p').map(function(){ 
     return this.id; 
    }).get(); 

见的jsfiddle http://jsfiddle.net/B3LuE/

+0

但我需要数组属性ID:105,250,56 – TITAN 2012-03-24 11:28:14

+0

我已经编辑了我的答案并且也写了关于这个。 – 2012-03-24 11:28:42

+1

@Chuck,你必须将'map()'应用于'#enable p'或'#enable> p',而不是'#enable'本身。 – 2012-03-24 11:31:03

1

不清楚自己想要什么?如果你想所有的ID,这是一个办法做到这一点:

var ids = []; 
$('#enable>p').each(function(){ 
    ids.push($(this).attr('id')); 
});​​​​​​​​​​​​​​​​​​​​​​​ 
alert(ids); 

0

可能是有点晚了就这一个:

$(function() { 
var x = $('#enable p'); 
var arr = []; 
for (var i = 0; i < x.length; i++) { 
    arr.push(x[i].id); 
} 
});​