foo
に変更する方法bar
を#wrapper
要素に変更しますが、内部で変更しないでくださいpre > code
?一部の要素を除いて内部HTMLに置き換えます
以下のコードを試しましたが、正しく動作しません:どこにあるかにかかわらず、すべてfoo
が変更されます。
$('#wrapper').children().not('pre > code').each(function() {
$(this).html($(this).html()
.replace(/foo/g, 'bar'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<div id="wrapper">
<p>foo</p>
<p>foo</p>
<p>foo</p>
<pre style="white-space: pre-line;">
<code>
foo
foo
foo
</code>
</pre>
<p>foo</p>
<p>foo</p>
<p>foo</p>
<pre style="white-space: pre-line;">
<code>
foo
foo
foo
</code>
</pre>
</div>