如何删除jQuery中的标签?
问题描述:
嗨我想删除<span>
的父母和孩子的标签。我怎样才能做到这一点如何删除jQuery中的<span>标签?
<span id='dept1'>
Department
<span onClick='deleteDept();'>X</span>
</span>
<span id='dept2'>
Department2
<span onClick='deleteDept();'>X</span>
</span>
当我打电话deleteDept()我想删除总<span>
(父母和子女)
任何一个可以帮助我
答
您需要点击的元素传递给该方法deleteDept
然后调用.remove()方法其父元素上
<span id='dept1'>
Department
<span onClick='deleteDept(this);'>X</span>
</span>
<span id='dept2'>
Department2
<span onClick='deleteDept(this);'>X</span>
</span>
然后在deleteDept()
function deleteDept(el) {
//something else
$(el).parent().remove();
}
演示:Fiddle
但是!因为你使用jQuery推荐的解决方案将是使用jQuery的事件处理程序,而不是一个内嵌一个
<span id='dept1'>
Department
<span class="dept-remove">X</span>
</span>
<span id='dept2'>
Department2
<span class="dept-remove">X</span>
</span>
然后
jQuery(function ($) {
$('.dept-remove').click(function() {
$(this).parent().remove();
})
})
演示的:Fiddle
答
$('span').on("click", function() {
$(this).parent().remove();
});
答
为了唯一目标具体的元素,你只需要编写更具体的选择器。
例如,如果你想只瞄准一个div内跨越,做,而不是
$("div span")
$("span");
的jQuery 1.4有一个新的.unwrap()
方法,这将是这个应用非常有用的。
试试这个
$("div span font").contents().unwrap().unwrap();