在我的Web应用程序中,我使用jQuery从HTML表中动态添加/删除行。
我要求我需要删除单个td元素(而不是整行)。
我的jQuery代码如下:
$(function () {
/* adding new row to existing table */
// HTML template of a row
$("#contactInfo").each(function () {
$("button.addCommentRow", this).live('click', function () {
var curr_row = $(this).closest('tr');
var html = '<tr><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> </td><td> ' + col_ninth + '</td> <td><button type="button" class="addCommentRow">+</button> <button type="button" class="deleteCommentRow">-</button> </td> </tr>';
var newRow = $(html).insertAfter(curr_row); // add after the last
newRow.find('.addCommentRow, .deleteCommentRow').button();
newRow.find('.deleteCommentRow').button().click(function () {
newRow.find("td:nth-child(9)").remove();
newRow.find("td:nth-child(10)").remove();
});
});
});
});
因此,在删除时,我想从我的行中删除第9和第10个td元素。
上述代码(仅删除部分)似乎不起作用 任何有关工作的想法/建议都将受到高度赞赏。
谢谢,
Pritish。
答案 0 :(得分:4)
您可以尝试这样的方法,尝试演示: http://jsfiddle.net/HXB4Z/
HTML :
<table border=2>
<tr>
<td>jQuery</td>
<td>mootools</td>
</tr>
<tr>
<td>Dojo</td>
<td>FUEL</td>
</tr>
<tr>
<td>Raphael</td>
<td>Rico</td>
</tr>
<tr>
<td>SproutCore</td>
<td>Lively Kernel</td>
</tr>
</table>
javascript :
$(function() {
$('tr')
.find('td')
.append('<input type="button" value="Delete" class="del"/>')
.parent()//traversing to 'tr' Element
.append('<td><input type="button" value="Delete row" class="delrow" /></td>');
$('.del').click(function() {
$(this).parent().remove(); //Deleting TD element
});
$('.delrow').click(function(){
$(this).parent().parent().remove(); //Deleting the Row (tr) Element
});
});
答案 1 :(得分:1)
我同意欧文。你可能想要这样的东西:
newRow.find("td:nth-child(9)").html('');
newRow.find("td:nth-child(10)").html('');