2012-03-24 52 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); 
} 
});​