您好我想删除<span>
的父子标签。我怎么能这样做
<span id='dept1'>
Department
<span onClick='deleteDept();'>X</span>
</span>
<span id='dept2'>
Department2
<span onClick='deleteDept();'>X</span>
</span>
当我调用deleteDept()时,我想删除总<span>
(父和子)
任何人帮助我
答案 0 :(得分:5)
您需要将点击的元素传递给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
答案 1 :(得分:0)
$('span').on("click", function() {
$(this).parent().remove();
});
答案 2 :(得分:0)
为了只针对特定元素,您只需要编写更具体的选择器 例如,如果您只想在div中定位跨度,请执行
$("div span")
而不是
$("span");
jQuery 1.4有一个新的.unwrap()
方法,对这个应用程序非常有用。
试试这个
$("div span font").contents().unwrap().unwrap();