Использование .map()
с .get()
- это один из способов:
var arr = $(value).map(function() {
var $th = $(this);
if($th.is("TD")) return $th.html();
}).get();
alert(arr);
Я не уверен, что представляет value
, но если вы измените селектор так, чтобы он соответствовал только td
элементам, вы могли бы упростить оператор return с return $(this).html();
.
.map()
перебирает элементы и добавляет возвращаемое значение к объекту jQuery. .get()
извлекает только массив из объекта jQuery.
Похоже, value
это tr
. Тогда вы могли бы сделать это:
var arr = $(value).children('td').map(function() {
return $(this).html();
}).get();
alert(arr);
Чтобы создать массив с каждым элементом, содержащим массив HTML-элемента td
этой строки, вы можете сделать это:
var arr = [];
$('tr').each(function() {
arr.push($(this).children('td').map(function() {
return $(this).html();
}));
}).get();
console.log(arr);
Используется стандарт .push()
, так как я не думаю, что использование .map()
внутри .map()
будет работать. Я думаю, что когда вы передаете внутренний массив в объект jQuery, он просто добавляет его в основной массив (или что-то).