1

コードにバグが見つかりました:

このコードは、一部の通常のテキストを強調表示されたバージョンに置き換えます。

var param = getCurrentParam();
var text = document.getElementById("mydiv").innerHTML;
document.getElementById("mydiv").innerHTML = text .replace(param, '<span style="background-color:yellow;">'+param+'</span>');

しかし、これはこの場合は機能しません:

param = 'my text more text another line here';

「本物の」html:

my text more text
another line here

改行があるため(brはなく、テキストエディタでキーを入力するだけです)、パラメータには空白だけがありますが、実際には(htmlでは)テキストに何かがあります(私はそのように推測します)'\n':;
したがって、おそらく: "\ n"があるため、置換は機能しませんが、代わりに"";を検索します。
どうすれば置換メソッドを修正できますか?

4

1 に答える 1

3

改行は通常HTMLには表示されないため、完全に削除することができます

 var text = document.getElementById("mydiv").innerHTML.replace(/\r?\n/g, '');
于 2012-05-16T13:38:20.140 に答える