2011-07-05 10 views
0

私はリピータを持っており、modalpopupからカラム値を取得します。最後の2番目のセルアンカータグから3番目に設定する必要があります。以下は私のコードスニペットです。 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

StackOverflowのコードフォーマットを使用して質問を読みやすくしてみませんか?あなたがコードを書こうとする行では、最初に4つのスペース文字を追加するだけです。 –

+0

このサイトを初めてご利用いただきありがとうございます。 – Bala

答えて

0

あなたはjQueryのを使用している間、あなたはすべての方法で使用していないということです。 .innerTextプロパティはIE固有のものなので、なぜjQueryのメソッドを使用しないのですか?

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

TDは、その後、行の最後のTDである場合:

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

あなたの代わりには.text

の.htmlを使用し、その後、実際のHTMLではなくテキストを更新しようとしている場合

$()セレクタの2番目の引数は、最初の引数の要素を探すスコープです。最後の行が見つかったので、jQueryにその行の 'td:last a'要素を探すように指示する方がはるかに効率的です。

また、childNode [0] .childNode [1]の代わりに 'td:last a'を使用すると、コードをはるかに拡張可能にできます。最後の列に列や追加要素を追加すると、childNodeインデックスを変更して一致させる必要はありません。

希望すると便利です。

0

次のことを試してみてください、

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

          or 

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

ホープ..

それが問題のように見える
関連する問題