Обновление : Я вижу, вы только что изменили вопрос. Теперь решение будет таким:
var s = '<h1>heading</h1><p>para</p>';
var $s = $(s).not('h1');
$('body').append($s);
Попробуйте: http://jsfiddle.net/q9crX/19/
Поскольку теперь у вас есть более одного элемента «верхнего уровня» в объекте jQuery, вы можете использовать .not()
(что в принципе противоположно .filter()
), чтобы удалить h1
.
Это было бы то же самое, что и $(s).filter(':not(h1)');
Оригинальный ответ
$(s).find('h1').remove();
Итак, если вы хотите добавить результат к body
, вы можете сделать:
var s = '<div><h1>heading</h1><p>para</p></div>';
var $s = $(s).find('h1').remove().end();
$('body').append($s);
Попробуйте: http://jsfiddle.net/q9crX/