删除jquery中的tr元素

时间:2013-02-11 05:45:55

标签: jquery

我有一个tr元素表,在其中我点击每行的删除,它从表中删除自己。我的html如下

<tr class="tr_body">
    <td>
    <input type="text" class="fabric_input createWOBlockBG small ui-autocomplete-input" name="basefabrics[]" onfocus ="loadUniqueAjax(' . "'fabric_input'" . ')" autocomplete="off">
    </td>
    <td>
    <input type="text" class="fac_input createWOBlockBG small ui-autocomplete-input" name="facSnapshots[]" id="facSnapshot" autocomplete="off">
    </td>
    <td>
    <a class ="deleteRow">delete</a>
    </td>
</tr>

我的jquery如下

$('.deleteRow').click(function(){

    var elementDelete = $(this).parent().parent();
    $('#tablelist').remove(elementDelete);

});

然而它返回一个Uncaught TypeError:当我点击deleteRow锚标签时,Object [object Object]没有方法'replace'。在此先感谢您的帮助。

7 个答案:

答案 0 :(得分:7)

Working example on JS Bin

$('.deleteRow').click(function() {
  $(this).closest("tr")
         .remove();
});

答案 1 :(得分:1)

试试这个

<强> DEMO

$(function(){
  $('.deleteRow').click(function(e){
    $(e.target).closest( 'tr' ).remove();
    //or
    //$(this).closest( 'tr' ).remove();
  });
});

答案 2 :(得分:1)

只需删除元素本身

替换

$('#tablelist').remove(elementDelete);

elementDelete.remove();

答案 3 :(得分:0)

尝试使用此功能,

function removeTableRow(trId) {
$(document.getElementById(trId)).remove();
}

并通过

调用此函数
removeTableRow( "tr_body" );

答案 4 :(得分:0)

你可以做这样的事情

$( document ).ready( function () {
    $( '#tablelist .deleteRow' ).click( function ( event ) {
        event.preventDefault();
        $( this ).closest( 'tr' ).remove();
    });
});

答案 5 :(得分:0)

$('.deleteRow').click(function(){
    var elementDelete = $(this).parent().parent();

    $(elementDelete).remove();

});

检查这个小提琴http://jsfiddle.net/p3Wrj/

参考http://api.jquery.com/remove/

正确的语法

答案 6 :(得分:0)

只需使用: -

$('.deleteRow').click(function(){
 $(this).parent().parent().remove();
});

实际上你试图使用remove作为Native javaScript样式但是在jquery中你不需要找到父元素。 Jquery将代表您执行此操作,因此您只需指定要删除的元素。

ParentElement.remove(childElement); //Javascript style

$(childElement).remove(); // Jquery