0

我有一个 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);

});

但是,当我单击 deleteRow 锚标记时,它返回 Uncaught TypeError: Object [object Object] has no method 'replace'。在此先感谢您的帮助。

4

7 回答 7

8

JS Bin 上的工作示例

$('.deleteRow').click(function() {
  $(this).closest("tr")
         .remove();
});
于 2013-02-11T05:53:01.067 回答
1

试试这个

演示

$(function(){
  $('.deleteRow').click(function(e){
    $(e.target).closest( 'tr' ).remove();
    //or
    //$(this).closest( 'tr' ).remove();
  });
});
于 2013-02-11T05:50:50.203 回答
1

只需删除元素本身

代替

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

elementDelete.remove();
于 2013-02-11T05:53:45.943 回答
0

试试这个功能,

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

并通过以下方式调用此函数,

removeTableRow( "tr_body" );
于 2013-02-11T05:50:02.417 回答
0

你可以做这样的事情

$( document ).ready( function () {
    $( '#tablelist .deleteRow' ).click( function ( event ) {
        event.preventDefault();
        $( this ).closest( 'tr' ).remove();
    });
});
于 2013-02-11T05:50:37.353 回答
0
$('.deleteRow').click(function(){
    var elementDelete = $(this).parent().parent();

    $(elementDelete).remove();

});

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

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

正确的语法

于 2013-02-11T05:57:53.840 回答
0

只需使用:-

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

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

ParentElement.remove(childElement); //Javascript style

$(childElement).remove(); // Jquery
于 2013-02-11T05:59:01.017 回答