2011-07-05 42 views
0

我有中繼器,它從modalpopup獲取列值。我需要從第3和第2個單元格錨點標記中設置它。以下是我的代碼片段。 它正在使用IE,但不適用於Firefox,Safari和Chrome。更新表中的單元格值 - 使用jQuery的中繼器

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

爲什麼不使用StackOveflow的代碼格式來提高您的問題的可讀性?在任何想要編寫代碼的行中,只需在開頭添加4個空格字符即可。 –

+0

本網站的新用戶感謝您提出這一點 – Bala

回答

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索引以匹配。

希望這會有所幫助!

0

嘗試以下,

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

          or 

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

希望這有助於..

相關問題