У меня есть таблица ниже, и при нажатии кнопки я хочу получить контент из первых 3 <td>
и поместить их в массив. Я понял, что смогу использовать родительские и дочерние элементы, но у меня возникают проблемы с получением окончательного результата. Ниже таблицы есть код, который у меня есть.
<tr>
<td>Content A</td>
<td>Content B</td>
<td>Content C</td>
<td>
<Button id="delete">Delete</Button>
</td>
</tr>
Текущий Jquery/Javascript:
$('#delete').on( "click", function( event ) {
$(event.target).closest( 'tr' ).remove();
var unit = $(event.target).parent().children().get(0);
alert(unit); //returns html element
});
Конечный результат, который я хочу, представляет собой массив с ["Content A","Content B","Content C"]
Вы можете сделать что-то вроде этого:
JS
$('#delete').on("click", function (event) {
var _this = $(event.target);
var tds = $(_this).closest("tr").find("td:lt(3)");
var outArray = [];
for(var x = 0; x < tds.length; x++){
outArray.push($(tds[x]).text());
}
alert(outArray.join(","));
});
FIDDLE
Пытаться
$('#delete').on( "click", function( event ) {
$(event.target).closest( 'tr' ).remove();
var data = [];
$(event.target).parent().siblings("td").each(function() {
data.push($(this).html())
});
console.log(data); //returns html element
});
$('#delete').on( "click", function( event ) {
var obj = $(this).parent().parent();
$(obj).each(function(){
alert($(this).html()) ;
});
});
td
, и почему вы должны удалитьtr
?