在点击我的跨度时获取我的td的文本值时遇到一些麻烦。 即使我单击第二行中的跨度,它也会始终提醒第一行。
这是我的代码:
$("#Item_Tbl").children("tr").children("td:last-child").children('span').each(function () {
$(this).click(function () {
var itemId = $("#Item_Tbl_Body > tr").find("td:nth-child(2)").html()
alert(itemId)
});
});
答案 0 :(得分:0)
您需要找到当前的tr
,您始终会选择表格中的所有第二个td
元素,以便.html()的getter版本将返回第一个.closest()的内容1}}在被叫集合中。
td
引用点击的this
元素,这样您就可以使用{{3}}找到点击的td
元素,然后您就可以找到第二个td在当前tr
之内
tr
另请注意选择器的缩短方式。
答案 1 :(得分:0)
您总是要求表格中的全套td:nth-child(2)
元素;根据定义,html()
将为您提供列表中 first 的内容。
相反,询问包含被点击元素的行:
$("#Item_Tbl > tr > td:last-child > span").each(function () {
$(this).click(function () {
var itemId = $(this).closest('tr').find("td:nth-child(2)").html()
alert(itemId)
});
});