Wie könnte ich foo
zu bar
in #wrapper
Element ändern, aber es innerhalb pre > code
nicht ändern?In innerem HTML ersetzen, ausgenommen einige Elemente
Ich habe versucht, den unten gezeigten Code, aber es funktioniert nicht richtig: es ändert alle foo
s, egal wo sie sich befinden.
$('#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>