2016-11-05 4 views
4

Вот HTML:Как создать массив содержимого html?

<table> 
    <tbody> 
    <tr> 
     <td>1</td> 
     <td>one</td> 
    </tr> 
    <tr> 
     <td>2</td> 
     <td>two</td> 
    </tr> 
    </tbody> 
</table> 

Теперь мне нужно сделать массив второго столбца этой таблицы, как это:

var arr = ['one', 'two']; 

Как я могу это сделать?

Я могу выбрать таблицу как это $('table') и получить ее содержимое следующим образом: $('table td+td'), но я не знаю, как я могу создать массив из них.

ответ

2

Вы можете использовать :nth-child(), чтобы выбрать второй td и map() вернуть массиву DEMO

var arr = $('table td:nth-child(2)').map(function() { 
    return $(this).text(); 
}).get(); 
+1

Если вы не отметили его как дубликат? – Rajesh

1

Попробуйте это:

Используйте $("table td:nth-child(2)").each() перебрать все 2 тд и получить его текст с помощью .text()

var arr = new Array(); 
$("table td:nth-child(2)").each(function(i){ 
    arr[i] = $(this).text(); 
})