我有一个如下表:
HTML:
<table id="data-filter">
<tr>
<td>1</td>
<td>Harry Potter</td>
<td><span class="delete"></span></td>
</tr>
<tr>
<td>2</td>
<td>Frodo Baggins</td>
<td><span class="delete"></span></td>
</tr>
</table>
如果用户在任何行中单击“ x”,则该特定行将被删除。我能够找到单击了哪一行,但是我无法准确找到单击了“ x”的哪一行。我的jQuery和CSS代码如下:
jQuery的:
$(document).on('click', '#data-filter tr', function() {
rn = this.rowIndex;
alert('You clicked row: '+rn); // do something to remove this row
});
CSS:
.delete:after { content:"x";}
我想触发删除事件,仅当用户单击特定行的“ x”时,而不是整个行或行的任何部分时才触发。我想我可能只是缺少正确的选择器,但是我不确定。
您可以this
用来引用处理程序所针对的元素,因此
$(document).on('click', '#data-filter tr .delete', function() {
$(this).closest('tr').remove()
});
同样从我看到的情况来看,单击删除按钮时需要删除行,因此需要将处理程序添加到delete元素,然后使用.closest()查找tr
存在删除按钮的元素,然后调用。 remove()删除该行
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句