To preface this question this isn't a scenario like so many others that are structured like this:
<div>
<div class="ErrorMessage"></div>
<div class="ErrorMessage"></div>
<div class="ErrorMessage"></div>
<div class="ErrorMessage"></div>
</div>
I know that :first-of-type or :first-child would work for those.
My scenario is when I have the same class being called on multiple elements throughout the DOM but they don't all follow the same structure. For instance I might have this kind of structure at some point in the page.
<div class="appArea">
<p class="ErrorMessage">
Some text to be changed
</p>
</div>
<div class="appArea">
<div class="something-for-space">
<p class="ErrorMessage">
Some text
</p>
</div>
</div>
<div class="appArea">
<table class="some-random-table">
<tr>
<td>
<p class="ErrorMessage">
Some text
</p>
</td>
</tr>
</table>
</div>
My interest lies in how do I select just the first occurrence of the class "ErrorMessage". I need to change it's default text and I've got a jQuery script that is working but it changes the text for every "ErrorMessage". I haven't been able to find the right cocktail of selectors to ensure that only the first is changed.
Fiddle for reference: https://jsfiddle.net/md6f0cb8/41/
Even if I change it for all instances of the class it's not the end of the world. I could just hide the other instances with CSS (the others are all redundant). But again, I don't have the proper selector(s) to ensure only the first occurrence is shown while the others are all hidden.
Any help is greatly appreciated!