2016-08-10 7 views
0

で.replace使用する方法私は、次のコードがありますが起こることになって何jQueryの - どのようにjQueryのOBJ

$('.selector.active').each(function() { 
    $(this).replace(/\s/g, '_'); 
} 

がある:.activeを持って.selectorクラスで各要素を、空白を置き換える「\s」と「_」は

私は何に実行しています.replace$(this)として$(this)では動作しないということであるjQueryのOBJであると.replaceは、jQueryの関数ではありません。私もthis.replace(/\s/g, '_');を試しましたが、それもエラーです...

どのように私は何をするために設定しているのだろうか(白いスペースを各要素のアンダースコアをクラスとして.selector.activeに置き換えてください)。 jQueryまたはプレーンJS - それは問題ではありません。

ありがとうございます。

答えて

1

私はあなたがテキストを取得し、設定する必要がある場合は、要素内のテキストを置き換えたいと仮定しています。

$('.selector.active').each(function() { 
    $(this).text($(this).text().replace(/\s/g, '_')); 
} 

EDIT:あなたはそれは私がちょうどすべて一緒にそれを置く掲示最初のコード

$('.selector.active').each(function() { 
    var innerText = $(this).text(); 
    var replacedText = innerText.replace(/\s/g, '_'); 
    //now set the new text in the element 
    $(this).text(replacedText); 
} 

をやっているかを理解して、私は少しこれを破るしてみましょう。

+0

ありがとう、これは動作していないようです...私も '$(this).text()。replace(/ \ s/g、 '_'));'試みましたが動作しませんでした。 ..(私は 'console.log'でそれをテストしました) – 4lackof

+0

' .text() 'メソッドを少し説明するための編集をしました。 'console.log(innerText)'は要素のテキストを表示します。つまり、テキストがある場合です。 –

+1

ありがとうございます。私は今それを理解し、私はまた、間違ったことをデバッグしていた...あなたの助けをありがとう!これは修正されました – 4lackof