如何使用数据值查找table> tr

时间:2019-03-26 11:40:12

标签: jquery

我做了一个表,并用jQuery放入了一些数据。

for(var i = 0; i < trlist.length; i++){
    if(i == makeLine) {
        var addTR = $(".table_tr:eq(1)").clone();
        addTR.css("background-color", "gray");
        addTR.show();
        $(".mytable").append("newTr");
    }

    var newTr = $(".table_tr:eq(0)").clone();
    newTr.data("trnum", i);
    for(var j = 0; j < tdlist.length; j++){  }
    newTr.show();
    $(".mytable").append(newTr);
}

我想获得所有td的数据序列,当我单击一个td时,它们在同一行中。 因此,我尝试使用data-trnum查找tr,但是它不起作用。我认为我确实做错了,但我不知道如何解决。

var tableTr = $("tr[data-trnum=" + trnum + "]");
var td = tableTr.children();
var arrDateList = new Array();

td.each(function(i){
    arrDateList.push(td.eq(i).data("seq"));
});

1 个答案:

答案 0 :(得分:1)

如果我很了解您的需求,则必须将点击事件附加到td上,然后获取兄弟姐妹data-seq属性,如:

$('.mytable').on('click', 'td', function() {
  var arrDateList = $(this).siblings().map(function(){
    return $(this).data('seq');
  }).get();

  console.log(arrDateList);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="mytable" border=1>
  <tr class="table_tr">
    <td data-seq="A1">A1</td>
    <td data-seq="A2">A2</td>
    <td data-seq="A3">A3</td>
    <td data-seq="A4">A4</td>
  </tr>
  <tr class="table_tr">
    <td data-seq="B1">B1</td>
    <td data-seq="B2">B2</td>
    <td data-seq="B3">B3</td>
    <td data-seq="B4">B4</td>
  </tr>
</table>