jQuery - <tr> 委托(delegate),忽略标题行

标签 jquery

我创建了一个委托(delegate)来响应 HTML 表中的行单击。但是,如果用户单击表标题行,我希望该委托(delegate)不会触发。我可以轻松修改委托(delegate)定义来做到这一点吗?

$("#listingTable").delegate('tr', 'click', function () {
var latitude = $(this).children('td').eq(3).text().trim();
var longitude = $(this).children('td').eq(4).text().trim();

最佳答案

向您不需要的 tr 添加一个类:

<tr class="ignore"><td>Nope</td></tr>
<tr><td>Yes</td></tr>

$("#listingTable").delegate('tr:not(.ignore)', 'click', function () { /* ... */})

或者使用表格主体:

<table>
<thead>
    <tr><th>exampleheader</th></tr>
</thead>
<tbody>
    <tr><td>Only this</td></tr>
</tbody>
</table>

$("#listingTable").delegate('tbody>tr', 'click', function () { /* ... */})

或者全部使用 html5:

<tr data-lat="123" data-lng="456"><td>Some td's value</td></tr>

$("#listingTable").delegate('tr', 'click', function () {
    if( typeof $(this).attr('data-lat') !=="undefined" ){

     }
})

关于jQuery - <tr> 委托(delegate),忽略标题行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24223035/

相关文章:

jQuery Tablesorter - 自定义解析器不起作用

javascript - 如何在文本字段上触发退格键?

javascript - AJAX 多表单提交

javascript - Apple 如何根据是否启用 Javascript 来更改站点?

php - AJAX JSON 加载 jQuery 数据表

JavaScript/jQuery 谷歌风格网站预览

javascript - 如何从服务响应中停止 html 上的多个事件处理程序 onclick?

javascript - 间隔 500 毫秒切换 div 的显示

jquery - 最后加载一些 CSS 可以加快页面加载时间吗?

c# - 使用 ServiceStack 反序列化数组