我有以下HTML代码:
<tr data-id='23'>
<td><a href='../index.php?typeID=23'>Title</a></td>
<td><a href='updateArticleType.php?typeID=23'>Update</a></td>
<td><a href='#' data-toggle='modal' data-target='#myModal' class='warning-dialog' data-id='23'>Delete</a></td>
</tr>
以下JQuery代码:
$(function () {
var lastClickId;
$('.warning-dialog').click(function () {
lastClickId = $(this).data("id");
var str = $("tr[data-id='" + lastClickId + "']:first").text();
alert(str);
});
我需要在archos标签之间获得name
。
我尝试了上面的代码,但警报是"Name Update Delete"
。
我的问题是为什么它不起作用,我该如何解决?
答案 0 :(得分:4)
您正在寻找第一个tr
而不是第一个td
。
你的选择器想要更像这样:
$("tr[data-id='" + lastClickId + "']>td:first")
我建议您不要依赖选择器中td
的顺序。有一天,您可能决定在标题列之前添加一个新列。那是你的代码破解的那一天。
考虑标题上的类名,并在选择器中使用它,如下所示:
<tr class="data-item" data-id='23'>
...
<td class="item-title">...</td>
...
</tr>
JS:
$(".data-item[data-id='" + id + "'].item-title:first")
答案 1 :(得分:1)