I have a string:
var s = \'heading
para
\';
and I want to remove the h1
element from it.
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/