Assuming your output is similar to:
<div id="description">
Lorem ipsum dolor sit amet... harum homero.
<h4>Price</h4>
Members - £125.00 + VAT<br />
Non-members - £145.00 + VAT
</div>
you won't be able to use a jquery selector to find the text after the <h4>
as the main text "Lorem..." and the later text "Members..." are at the same level in the DOM hierarchy.
You can use jquery to read the content, then parse it, eg:
var content = $("div#description").html();
content=content.replace(/\<h4.*/, "");
$("div#description").html(content);
or use content.lastIndexOf
but if it's htmlencoded, you won't get other <
If you want to "hide" the text, but not remove, you can use the above to wrap in another span
then hide that, eg:
var content = $("div#description").html();
content = content.replace(/(\<h4.*)/, "<span class='hidden'>$1</span>");
$("div#description").html(content);
$("div#description>.hidden").hide();
(or use css to hide hidden etc)