2012-09-21 28 views
1

我試圖從ul#ignorelist.userlist li > a的值傳遞到稱爲改編的陣列的陣列。但我不需要整個href,我只需要用戶ID。傳遞HREF查詢字符串值來使用jquery

事情是這樣的:14301,65958

HTML:

<ul class="userlist floatcontainer" id="ignorelist"> 
    <li id="user14301"><input checked="checked" id="usercheck_14301" name= 
    "listbits[ignore][14301]" type="checkbox" value="14301"><a href= 
    "member.php?u=14301">Frenchy</a><input name= 
    "listbits[ignore_original][14301]" type="hidden" value="14301"></li> 

    <li id="user65958"><input checked="checked" id="usercheck_65958" name= 
    "listbits[ignore][65958]" type="checkbox" value="65958"><a href= 
    "member.php?u=65958">GermanMan</a><input name= 
    "listbits[ignore_original][65958]" type="hidden" value="65958"></li> 
</ul> 

的Jquery:

var arr = $('ul#ignorelist.userlist li > a').map(function() { 
return this; 
}).toArray(); 

的jsfiddle:http://jsfiddle.net/7dWFN/13/

回答

3

試試這個,注意,你不需要toArraymap方法返回一個數組。

var arr = $('#ignorelist.userlist li').map(function() { 
     return this.id.match(/\d+/g).join('') 
     // or return this.id.replace('user', '') 
}).get() 

http://jsfiddle.net/6aP7W/

var names = $('#ignorelist.userlist li a').map(function() { 
     return $(this).text() 
}).get() 
+0

你也可以告訴我怎麼去字符串值到數組,如:@ SOLDIER-OF-FORTUNE [ 「法國式」, 「GermanMAN」] –

+0

我有更新了答案,爲了提高性能,可以緩存對象。 '變量$ LI = $( '#ignorelist.userlist禮')'用於第一地圖'$ li.map()....'第二:'$ li.find( 'a')的地圖()' – undefined

+0

由於我在這裏學到了很多東西。 –