1
私はあるクラス名を別のクラス名に置き換えるjavascript関数を構築しようとしています。私はJavaxcriptの正規表現のメタキャラクタは角カッコ内では機能しませんか?
<div class="one" onclick="foo(this)"></div>
のようなマークアップに
function foo(bar)
{
bar.className=bar.className.replace(/\bone/, "two");
}
のような関数を使用する場合、それは正確に検出し、two
とone
を置き換えます。しかし、角括弧を使用してone
の前にある他の文字を含めると、\b
は文字列の先頭を認識できず一致しません。例:
function foo(bar)
{
bar.className=bar.className.replace(/[\b\s]one/, "two");
}
は機能しません。さらに/[\b]one/
も機能しません。
http://jsfiddle.net/E4ph5/を参照してください。私は間違って何をしていますか? (フィドルで、角括弧を削除すると、スクリプトは正しく機能します)
ちょうど '\ b'を使うことについての良い点は、気付かなかったことです。 –