检查是否单击了最后一个元素
Check if last element was clicked
我试图找出是否点击了tr
的最后一td
。这是我的 HTML 示例:
<table>
<tr>
<td>Foo</td>
<td>Bar</td>
<td>Clicked</td>
</tr>
</table>
这是我目前的javascript代码(不是那样工作的):
$('table').on('click', 'tr', function(e) {
if ($(this).find('td').is(':last-child')){
alert("Last td clicked!");
}
});
注意:我需要将tr-selector
用于其他目的。所以重要的是,点击是指tr
.
尝试使用tr td:last-child
选择器执行以下操作。
$('table').on('click', 'tr td:last-child', function (e) {
alert("Last td clicked!");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<td>Foo</td>
<td>Bar</td>
<td>Clicked</td>
</tr>
</table>
更新:根据更新的问题
$('table').on('click', 'tr', function (e) {
if($(e.target).is(':last-child')) {
alert("Last td clicked!");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<td>Foo</td>
<td>Bar</td>
<td>Clicked</td>
</tr>
</table>
你不需要那个.find()
。另外,是否要检查是否单击了最后一个td
或 las tr
?无论哪种方式,您只需要这样做:
$('table').on('click', 'td', function(e) {
if($(this).is(':last-child')){
alert("Last td clicked!");
}
});
演示
这个答案假设事件处理程序对所有<td>
元素都是通用的,并且想要区分最后一个元素
在不更改事件处理程序的情况下:
事件对象保存所单击元素的引用。这可以使用。
event
对象中的 target
属性包含实际单击的元素的引用。 jQuery is()
可用于检查元素是否是<tr>
中的最后一个。
$('table').on('click', 'tr', function(e) {
console.log($(e.target).is($(this).find('td:last')));
// OR
// console.log($(e.target).is(':last-child'));
});
演示
<td>
上的绑定事件
该事件可以绑定在<table>
内的<td>
元素上,并且:last-child
选择器可以与is()
一起使用,以检查单击的元素是否是最后一个子元素。
$('table tr').on('click', 'td', function(e) {
console.log($(this).is(':last-child'));
});
演示
将事件侦听器直接添加到最后一个子项
目录
<table>
<tr>
<td>Foo</td>
<td>Bar</td>
<td>Clicked</td>
</tr>
</table>
爪哇语
$('table').on('click', 'tr td:last-child', function(e) {
alert("Last td clicked!");
});
JSFiddle
相关文章:
- 表追加而不附加最后一个元素
- 如何查找流星集合中最后一个元素/对象的id
- 如何在使用Protractor测试时找到ng中继器的最后一个元素
- 在元素数组上循环只会影响最后一个元素
- 推特引导滚动间谍总是选择最后一个元素
- 选择页面上具有特定类的最后一个元素
- 检查 JQuery 每个函数中的最后一个元素
- 选择表中的最后一个元素
- forEach 仅执行数组的最后一个元素
- JavaScript,数组和函数 - 只有数组的最后一个元素有效
- jQuery - 选择具有相同 ID 的组的最后一个元素
- 第一个元素和最后一个元素之间的连续循环
- 在JavaScript数组中查找最后一个元素的计算效率最高的方法
- 将同一个元素追加到两个下拉列表中只会导致最后一个元素被追加
- 如何在jquery中读取Section中的最后一个元素
- 设置'字体大小'jQuery不处理所选Text的最后一个元素
- AJAX只将数组的最后一个元素传递给MVC 5控制器
- 移除嵌套数组的最后一个元素,并完成最后一个数组
- PHP:获取关联数组中最后一个元素
- jquery slideDown()遍历最后一个元素