2016-02-20 101 views
0

我有一個HTML的結構是這樣的:如何創建一個包含​​元素值的數組?

<table> 
    <tr> 
    <td>Jack</td> 
    <td>Peter</td> 
    <td>Barmar</td> 
    </tr> 
</table> 

現在我試圖創建所有這些名稱的JS數組。我想是這樣的:

var Names = ["Jack", "Peter", "Barmar"]; 

其實我可以用this regex選擇那些名稱:

/\<td\>(.*)\<\/td\>/g 

但我不知道我怎麼能提取他們從HTML並創建JS-包含它們的數組。我怎樣才能做到這一點?

+1

'變種名稱= $( 'TD')。圖(函數() {return $(this).text();})。get( );' – billyonecan

回答

1

使用jQuery JavaScript的

var Names = $('td').map(function() { return $(this).text(); }).get();

var Names = [], tdEls = document.getElementsByTagName('td'), 

for (var i = 0; i < tdEls.length; i++) { 
    Names.push(tdEls[i].innerHTML); 
} 

Here's a fiddle

2
var array = $('td').map(function() { 
    return $(this).text(); 
}).get(); 

FIDDLE DEMO

map函數返回一個jQuery集合不具有聯接函數。您需要先使用get函數將其轉換爲標準數組。

相關問題