jQuery does not allow easy access to text nodes. Perhaps you could change the HTML to something like the following?
...
<input type="radio" id="myID"/>
<label for="myID">My String $10.00</label>
...
Then you can do:
$("input[type=radio]").next().hide();
or, if you want to have it work no matter the order of the elements or any other stuff in between:
$("input[type=radio]").closest("td").find("label").hide();
Since you edited the post to mention you have no control over the HTML, try something along these lines:
// Tiny jQuery extension to provide $().outerHTML();
jQuery.fn.outerHTML = function() {
return $($('<div></div>').html(this.clone())).html();
}
var radioButton = $("input[type=radio]");
var parentElement = radioButton.parent();
var radioHTML = radioButton.outerHTML();
var hiddenText = radioButton.parent().text();
// Hide the text:
parentElement.html(radioHTML);
// Display the text again:
parentElement.html(radioHTML + hiddenText);