我有一个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'。在此先感谢您的帮助。
答案 0 :(得分:7)
$('.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