我有这段代码:
<tr class="editField">
<td>abc</td>
<td>123</td>
</td>
</tr>
<tr class="editField">
<td>dfg</td>
<td>456</td>
</td>
</tr>
然后我有这个javascript用jQuery打开一个对话框:
$( ".editField" ).click(function() {
alert(...); // should get me 123
});
假设我点击第一个tr
,我会得到第二个td
的内容(即123),我该怎么写?
答案 0 :(得分:10)
我建议,鉴于你目前的加价:
$( ".editField" ).click(function() {
alert($(this).find('td:eq(1)').text());
});
但是,虽然这在给定的示例中起作用,但是将一些定义属性添加到您希望从中恢复“值”的元素(例如类 - )会更容易(并且随后更可靠)名称'value',给出如下的HTML:
<tr class="editField">
<td>abc</td>
<td class="value">123</td>
</tr>
和jQuery:
$( ".editField" ).click(function() {
alert($(this).find('td.value').text());
});
或者,当然,如果'value'将始终是任何给定行(相关类)的 last td
元素,那么您可以使用:
$( ".editField" ).click(function() {
alert($(this).find('td:last').text());
});
顺便提一下,请注意您的HTML格式不正确,在示例代码的两行中的最后一个单元格后面都有剩余</td>
。
参考文献:
答案 1 :(得分:1)
试试这个:
$( ".editField" ).click(function() {
var clickedValue = $(this).find('td:first').next().text();
alert(clickedValue );
});
答案 2 :(得分:0)
$(document).bind("click", function (e) {
$(e.target).closest("li").toggleClass("highlight");
alert($(event.target).text());
});
这将直接为您提供所选的元素ID。 $(event.target)的.text(); 将在一秒钟内为您提供所选的元素文本。
答案 3 :(得分:0)
$(function () {
$(".Cartbtn").click(function () {
var temp = {
"Id": $(this).data("itemid"),
"Name": $(this).data("itemname"),
"Price": $(this).data("itemprice"),
"Quantity": $(this).data("itemqty"),
"ImageUrl": $(this).data("itemimgurl"),
});