2011-07-05 9 views
-2

これは私のテーブルです。jqueryを使用してテーブル内の文字列を置き換えますか?

<table> 
    <tr> 
    <td>I am Achinna</td> 
    <td>I am Krish</td> 
    </tr> 
</table> 

私の代わりに「私は」jqueryのを使用しての「私」を配置する必要があります。

+0

$( 'TD')( "私は")、各(関数(){VAR STR = $(この)は.text()が含まれ;。。 – AChinna

+0

ちょうどあなたの質問を編集して、完全なコードを追加します。 –

答えて

3
$('td').each(function (i, el) { 
    var txt = $(el).text(); 
    $(el).text(txt.replace(/(I\sam)\b/g, 'Me')); 
}); 
+2

より簡単です: '$( 'table td')。テキスト(function(i、t){return t.replace( '私は'、 '私');})、 ' –

+0

なぜ' i'がパラメータになりますか? – VMAtm

+0

:) – jerluc

2
jQuery.each($("body").find("table"), function() { 
    this.innerHTML = this.innerHTML.split("I am ").join("Me "); 
}); 

例:nullの問題がまだ存在するので、私は私の剣道TreeListでこれを使用

$('table td').each(function() { 
    text = $(this).text(); 
    text.replace(/i am/i, 'Me'); 
    $(this).text(text); 
}); 
+0

これは、可能なすべてのイベントハンドラを破棄します。 –

+0

@Felix - すべての可能なハンドラではなく、テーブルの内側の 'tr'、' td'およびその他のコンテンツノードにプログラムで登録されたハンドラだけです。テーブルマークアップ自体に設定されたハンドラはすべて保持されます。さらに、この例ではこのようなハンドラはありません。誰かがまだ '

'を使用している場合は、まったく使用している場合、プログラムハンドラを設定していない可能性があります。 – aroth

+0

'table'の何が問題なのですか?テーブルを持たない場合、どのように表データを表示するのですか?もちろん、HTML属性で設定されたハンドラーを破壊することはありません。それでも、「innerHTML」を設定するのは良いアプローチではありません。他にも簡単な防腐剤があります。 –

0
$('#table tr').each(function() { 
    var value = this.val(); 
    value.replace("I am", "Me"); 
    this.val(value); 
} 
0

はこれを試してみてください。

これは、背景が白い場合にのみ機能します。

$('table td').each(function() { 
    text = $(this).text(); 
    if (text == "null") { 
     $(this).addClass("white"); 
    } else { 
     $(this).removeClass("white"); 
    }; 



<style> 
    .white { 
    color: white; 
} 
</style> 
0
$("table:td").each(function(index) { 
    $(this).text($(this).text().replace("I am", "Me")); 
}); 
関連する問題