0

这是一个示例表。

<table class="table table-bordered">
<tbody>
<tr>
<tr>
    <td>Stuff<div id="ParentID" style="display:none">145689</div></td>
    <td><button class="btn btn-small">Send</button></td>
</tr>
</tbody>   
</table>

我想在 id=ParentID 的 div 标记中选择最接近单击该按钮的文本。我将来会有多行,所以它必须是该行唯一的。

我现在有

var qry =  $(this).closest('#ParentID').text();

显然不起作用

4

5 回答 5

3

这是可以做到的:

$(".btn").on("click", function() {
    var text = $(this).closest("tr").find("div").text();
    // ...
});

请注意,元素应该具有唯一的 ID,因此不能有多个<div>ID为"ParentID"的元素。我希望您仅将其用作示例。

于 2013-03-11T14:36:41.190 回答
0

试试这个

$(".btn").on("click", function() {
 $(this).parent('tr').find('div#ParentID').text();
});
于 2013-03-11T14:37:58.810 回答
0
$('button').click(function(){
    var dataYouWant = $(this).parent().find('div').html();
});
于 2013-03-11T14:39:17.590 回答
0

您可以这样做,结果如下:

$('.btn').click(function() {
    alert($(this).parent().prev().children('div').text());
});

在这里试试:http: //jsfiddle.net/YLcjf/2/

(我想你应该对所有这些解决方案进行基准测试。不确定“find”是否有一些与之相关的贪婪算法惩罚)

于 2013-03-11T14:43:43.473 回答
0
$("button").click(function(){

    alert($(this).parents("tr")
          .find("div#ParentID").text());  

});

JS Fiddle 测试:http: //jsfiddle.net/leniel/suRfG/

于 2013-03-11T14:53:23.903 回答