JSFiddle - React, Tailwind, and code Playground
HTML
<button id="toggleHighlight">Toggle Highlight</button>
<div id="a" class="aClass"><p>This paragraph is in div A.</p>
<div id="b" class="bClass"><blockquote><p>This paragraph is in div B, which is a descendant of A. We apply a highlight style to it however we'd really like that highlight style to not be propagated into certain children.</p>
<div id="x" class="xClass"><blockquote><p>Here is a random descendant of div B which we want the highlighting to still apply to.</p></blockquote></div>
<div id="c" class="cClass"><blockquote><p>This content is inside a div of type C. These kinds of children we'd like to ideally look as close to the way they looked before the highlight as possible.</p></blockquote></div>
</blockquote>
</div>
</div>
CSS
.aClass {
background-image: url('http://hostilefork.com/shared/stackoverflow/parchment.jpg');
background-repeat: repeat;
}
.aClass, .bClass, .cClass, .xClass {
border : 2px solid #000;
margin: 20px;
padding: 20px;
}
.highlight.bClass {
background-image: url('http://hostilefork.com/shared/stackoverflow/cc-by-nc-nd.png');
background-repeat: repeat;
}
.highlight.bClass .styleControl {
width: 0;
height: 0;
position: absolute;
}
.highlight.bClass .styleControl ~ *:not(.cClass) {
color: red;
}
JavaScript
$('#toggleHighlight').click(function(){
$('#b').toggleClass('highlight');
$('#b > blockquote').prepend('<div class="styleControl"></div>');
});