我有一张这样的表:
<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);
});
但它不起作用。
答案 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/