Jquery表td with children.each()

时间:2013-06-14 09:49:11

标签: jquery tablesorter

我有一张这样的表:

  <tr>
      <td><td>
      <td id="some_id" name="some_name"><td>
      <td id="some_other_id" name="some_other_name"></td>
      <td></td>
  </tr>

现在我希望在没有第一个和最后一个孩子改变id的情况下获得所有elemtens。我使用这段代码:

    var i = 0;
    $(changeRow).children().not(':first').not(':last').children().each(function() {
         var replacementField = 'column-' + i++ + '-field-' + ndx;
         $(this).id = $(this).id.replace(replacementField);
    }); 

但它不起作用。

2 个答案:

答案 0 :(得分:0)

var i = 0;
$('tr td').not(':first').not(':last').each(function(){
    var replacementField = 'column-' + i++ + '-field-' + ndx;
    $(this).attr('id', $(this).attr('id').replace(replacementField));
});

答案 1 :(得分:0)

首先,changeRow是什么?一个身份证?一个对象?
因此,您可以更改您的选择器,例如:tr td =&gt;选择td元素中的所有tr个孩子。
使用您的选择器,您经常拨打.children()并获得td的孩子。
如果你只想用新的id替换id,你可以在一次通话中简化你的id的替换。

var i = 0;
$("tr td").not(':first').not(':last').each(function() {
    $(this).attr('id', 'column-' + i++ + '-field' + ndx);
}); 

在jsFiddle上查看此代码工作:http://jsfiddle.net/AAshX/1/