简体   繁体   English

Jquery使用$('#mytable tbody tr:nth-​​child()td:nth-​​child()')选择一个单元格

[英]Jquery selecting a cell using $('#mytable tbody tr:nth-child() td:nth-child()')

for (var i = 0; i <= $('#table-body tr').length - 1; i++) {
    var ingredients = $('#recipiestable tbody tr:nth-child(2) td:nth-child(1)').text()
    var amount = $('#recipiestable tbody tr:nth-child(2) td:nth-child(2)').text()
    var unit = $('#recipiestable tbody tr:nth-child(2) td:nth-child(3)').text()
    $('#resultsbody').append('<tr><td>' + ingredients + '</td><td>' + amount + '</td><td>' + unit + '</td> </tr>')
}

How can I select the nth-child using i in the loop? 如何在循环中使用i选择nth-child? I've tried: 我试过了:

$('#recipiestable tbody tr:nth-child('+ i +') td:nth-child(1)')

But it just returns errors, does anyone know how to work around this? 但它只是返回错误,有谁知道如何解决这个问题?

How about a little refactoring to better understand your code? 如何进行一些重构以更好地理解您的代码?

var table_size = $('#table-body tr').length;
var trs = $('#recipiestable tbody tr').slice(table_size);

$.each(trs, function(i, tr) {
  // No need for messy lookups, if you can look inside the context of your current tr
  var ingredients = $('td:nth-child(1)', tr).text(),
      amount      = $('td:nth-child(2)', tr).text(),
      unit        = $('td:nth-child(3)', tr).text();

  $('#resultsbody').append('<tr><td>' + ingredients + '</td><td>' + amount + '</td><td>' + unit + '</td> </tr>');
});

docs for $.each $ .each的文档

for (var i = 0; i <= $('#table-body tr').length - 1; i++) {
    var ingredients = $('#recipiestable tbody tr:nth-child(2) td:nth-child(1)').text();
    var amount = $('#recipiestable tbody tr:nth-child(2) td:nth-child(2)').text();
    var unit = $('#recipiestable tbody tr:nth-child(2) td:nth-child(3)').text();
    $('#resultsbody').append('<tr><td>' + ingredients + '</td><td>' + amount + '</td><td>' + unit + '</td> </tr>');
}

Please add the semicolons ; 请加分号;

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM