jQuery是第一个而不是第一个在同一行,可能吗?

时间:2016-09-28 07:22:44

标签: javascript jquery

我有一个简单的jquery将列附加到表

jQuery('#tb tr:first').append('<td>manufacturer_part_number</td>');

这会将第一个<tr>的{​​{1}}附加到表格中,但我还想为<td>不是第一个孩子时分配不同的td,我可以做类似的事吗此?

<td>

如果不可能,有没有办法处理最少的代码?

4 个答案:

答案 0 :(得分:1)

不,当你选择第一行时,你不能将该元素链接起来就好像它是整个表一样,你必须单独进行

jQuery('#tb tr:first').append('<td>manufacturer_part_number</td>');
jQuery('#tb tr:not(:first)').append('<td>&nbsp;</td>');

您当然可以先选择表格,然后返回end()

jQuery('#tb').find('tr:first').append('<td>manufacturer</td>').end()
             .find('tr:not(:first)').append('<td>&nbsp;</td>');

或使用append()进行回调

jQuery('#tb tr').append(function(i) {
    return $('<td />', { text : i === 0 ? 'manufacturer' : '&nbsp;' });
});

答案 1 :(得分:1)

你应该循环其他行

$('#tb tr:first').append('<td>manufacturer_part_number</td>');
$('#tb tr:not(:first)').each(function() {
   $(this).append('<td>&nbsp;</td>');
});

答案 2 :(得分:0)

您可以使用next()end()

来完成此操作
jQuery('#tb').find('tr:first').append('<td>manufacturer</td>').end().find('tr:first').next().append('<td>&nbsp</td>');

答案 3 :(得分:0)

您也可以这样使用:

$('#tb tr').each(function(i) {
  if(i===0){
    $(this).append('<td>manufacturer_part_number</td>');
  } else {
    $(this).append('<td>&nbsp;</td>');
  }
});