如何在jquery中删除<span>标签?</span>

时间:2013-10-08 06:16:09

标签: jquery

您好我想删除<span>的父子标签。我怎么能这样做

<span id='dept1'>
Department
<span onClick='deleteDept();'>X</span>
</span>
<span id='dept2'>
Department2
<span onClick='deleteDept();'>X</span>
</span>

当我调用deleteDept()时,我想删除总<span>(父和子)

任何人帮助我

3 个答案:

答案 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();