Вы хотите удалить весь элемент, если class
соответствует .target
? Попробуйте это:
$(document).ready(function(){
var x = $('<div><span></span><div id="container"><span>one</span><span class="target"></span></div></div>');
x.find('.target').get(0).remove();
console.log(x.html());
});
Вот fiddle.
Редактировать
As x.html()
срывает корневого элемента (т.е. <div></div>
), вот решение, если вы хотите, чтобы получить полный HTML строку.
$(document).ready(function(){
var x = $('<div><span></span><div id="container"><span>one</span><span class="target"></span></div></div>');
x.find('.target').get(0).remove();
x = x.wrap('<div>').parent().html();
console.log(x);
});
Обновлено fiddle.
Edit 2
В том случае, когда есть более одного .target
, скажем, например, следующую строку:
<div><span></span><div id="container"><span>one</span><span class="target"></span><span class="target"></span><i class="target"></i></div></div>
Вы можете рассмотреть вопрос о снятии get(0)
.
$(document).ready(function(){
var x = $('<div><span></span><div id="container"><span>one</span><span class="target"></span><span class="target"></span><i class="target"></i></div></div>');
x.find('.target').remove();
x = x.wrap('<div>').parent().html();
console.log(x);
});
Обновлено fiddle.
их нет необходимости удалять элемент после создания html. Просто создайте те html, которые вы хотите добавить. –