特定の要素/ノードタイプでメソッドを実行する方法を理解するのに苦労していますが、他の要素/ノードタイプでは実行できません。
たとえば、ここにいくつかのHTMLがあります。
<div id="parent">
<div class="subparent">Changing Text
<div class="no-change">Changing Text</div>
</div>
<div class="subparent">Changing Text</div>
<div class="child">Changing Text
<div class="no-change">Changing Text</div>
</div>
<div class="subparent">Changing Text</div>
</div>
私の方法は次のようなものです。
jQuery.fn.changingtext = function(expr) {
return this.each(function() {
this.innerHTML = this.innerHTML
.replace(/Changing Text/ig, "Edited!")
});
};
ここで、div.no-changeにあるものを除くすべてのテキストを変更したいと思います。最終結果は次のようになります。
<div id="parent">
<div class="subparent">Edited!
<div class="no-change">Changing Text</div>
</div>
<div class="subparent">Edited!</div>
<div class="child">Edited!
<div class="no-change">Changing Text</div>
</div>
<div class="subparent">Edited!</div>
</div>
子に対してメソッドを実行せずに親を選択する方法がわかりません。どんな助けでもいただければ幸いです。ありがとう!
編集:ここではPauloのコードを使用していますが、機能していません:http: //jsbin.com/usaxa
Edit @ Jeff Meatball Yang:こんにちは、インプレース置換を使用すると、htmlではなくテキストとして出力されます:http: //jsbin.com/idina
また、他のメソッドを機能させることができませんでした:http: //jsbin.com/aguca
例を挙げていただけますか?
ありがとう!