Получить значения из таблицы, используя родителей и детей

0

У меня есть таблица ниже, и при нажатии кнопки я хочу получить контент из первых 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"]

  • 0
    здесь родитель td , и почему вы должны удалить tr ?
  • 0
    Почему вы называете функцию delete, если вы просто хотите получить значения? Вы хотите удалить столбцы, а затем получить значения в массиве?
Показать ещё 2 комментария
Теги:

3 ответа

2
Лучший ответ

Вы можете сделать что-то вроде этого:

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

http://jsfiddle.net/uYR6A/1/

1

Пытаться

$('#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 
});

скрипка

0
$('#delete').on( "click", function( event ) {
   var obj = $(this).parent().parent();
   $(obj).each(function(){
   alert($(this).html()) ;
   });
});

Ещё вопросы

Сообщество Overcoder
Наверх
Меню