jquery:如何删除包含其中所有内容的标记

时间:2014-03-16 14:03:28

标签: jquery html

当第二个带有删除类的标签被点击时,我想删除整个部分!

HTML:

<div class="tr">
            <div class="tbl-cell">
                <input id="txt_1" type="text" />
            </div>
            <div class="tbl-cell">
                <a href="#" class="remove" ></a>
            </div>
        </div>

我怎样才能在jquery中这样做? 我尝试使用此代码:

JQuery的:

    $("body").on("click",".remove", function(e){ 
        if( x > 1 ) {
                $(this).parent('div').remove();
                x--; 
        }

但它只删除第二个内部div,它包含一个带有remove类的标记。

3 个答案:

答案 0 :(得分:0)

使用.closest()与类div获取最接近的tr元素。

$("body").on("click", ".remove", function (e) {
    if (x > 1) {
        $(this).closest('div.tr').remove();
        //                 ^^
        x--;
    }

.closest()

  

对于集合中的每个元素,通过测试元素本身并遍历DOM树中的祖先来获取与选择器匹配的第一个元素。

答案 1 :(得分:0)

使用:

$(this).closest("tr").remove();

删除整行,而不仅仅是div。

答案 2 :(得分:0)

使用

$(this).parents(".tr").remove(); 

$(this).closest(".tr").remove();