使用jQuery更新表 - 转发器中的单元格值

时间:2011-07-05 19:07:57

标签: jquery

我有转发器,它从modalpopup获取一个列值。我需要在最后一个和第二个单元格锚标记的第3个上设置它。以下是我的代码段。 它正在开发IE,但不适用于Firefox,Safari和Chrome。

{   
  var repeater = $("#pubRepeater");
  var numberofrows = repeater.find('tr').length;
  var lastcell = repeater.find('tr')[numberofrows - 3];
  lastcell.childNodes[1].childNodes[0].innerText = 'New Value';
}

2 个答案:

答案 0 :(得分:0)

尝试以下方法,

       lastcell.childNodes[1].childNodes[0].html('New Value');

                          or

       lastcell.childNodes[1].childNodes[0].text('New Value')

希望这会有所帮助..

答案 1 :(得分:0)

看起来问题是,当你使用jQuery时,你并没有完全使用它。 .innerText属性是特定于IE的,所以为什么不使用jQuery提供的方法?

$('td a', lastcell).text('New Value');

如果td是行中的最后一个td,那么:

$('td:last a', lastcell).text('New Value');

如果您尝试更新实际的HTML而不是文本,请使用.html而不是.text

$()选择器中的第二个争论是它应该在第一个争论中寻找元素的范围。既然你已经找到了最后一行,那么告诉jQuery只在该行中寻找'td:last a'元素会更有效率。

此外,通过使用'td:last a'而不是childNode [0] .childNode [1],可以使代码更具可扩展性。现在,如果向最后一列添加更多列或其他元素,则不必更改childNode索引以匹配。

希望这有帮助!