Update: I see you just changed the question. Now the solution would be this:
var s="<h1>heading</h1><p>para</p>";
var $s = $(s).not('h1');
$('body').append($s);
Try it out: http://jsfiddle.net/q9crX/19/
Because you now have more than one “top level” element in the jQuery object, you can use .not()
(which is basically the opposite of .filter()
) to remove the h1
.
It would be the same as doing $(s).filter(':not(h1)');
Original answer
$(s).find('h1').remove();
So if you were to append the result to the body
, you could do:
var s="<div><h1>heading</h1><p>para</p></div>";
var $s = $(s).find('h1').remove().end();
$('body').append($s);
Try it out: http://jsfiddle.net/q9crX/