我做了一个表,并用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"));
});
答案 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>