【发布时间】:2013-06-19 20:23:47
【问题描述】:
示例代码:
<table class="grid">
<tr>
<td><a href="#" id="unit_floor_plan_preview">click me </a></td>
<td class="unitNumber"><span>Unit 1</span></td>
<td class="unitStatus">Open</td>
</tr><tr>
<td class="unitNumber"><span>Unit 2</span></td>
<td class="unitStatus">Sold</td>
</tr>
</table>
我能够获取所选行的行索引以获取确切的列数据。
tr = $('.grid').find('tr');
tr.bind('click', function(event) {
unitNo = $(this).find("td.unitNumber span").html();
alert(unitNo);
});
上面的tr点击事件没问题。
我的问题现在是如何在点击表格行内的锚链接<td><a href="#" id="unit_floor_plan_preview">Show map &nbsp;</a></td>时触发这个tr绑定事件?
目标: 在处理锚定链接上的其余代码之前先获取
unitNo(在 tr.bind 点击事件上处理)?
我尝试在锚链接点击事件中复制 tr 点击函数,但在 unitNo 上得到 undefined 值。查看我的代码:
$('a[id^="unit_floor_plan_preview"]').bind('click',function() {
var tr = $('.grid').find('tr');
unitNo = $(this).find("td.unitNumber span").html();
alert('From link: ' + unitNo);
});
【问题讨论】:
-
这里的问题是事件冒泡的操作顺序。链接将始终出现在行点击之前。
标签: javascript jquery