这是一个示例表。
<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>
我想在div标签中选择最接近该按钮的id = ParentID的文本。我将来会有多行,所以它必须是该行的唯一行。
我现在
var qry = $(this).closest('#ParentID').text();
显然不起作用
答案 0 :(得分:3)
这是如何做到的:
$(".btn").on("click", function() {
var text = $(this).closest("tr").find("div").text();
// ...
});
注意这些元素应具有唯一ID,因此不能有多个ID为“ParentID”的<div>
个元素。我希望你只用它作为例子。
答案 1 :(得分:0)
试试这个
$(".btn").on("click", function() {
$(this).parent('tr').find('div#ParentID').text();
});
答案 2 :(得分:0)
$('button').click(function(){
var dataYouWant = $(this).parent().find('div').html();
});
答案 3 :(得分:0)
你可以这样做,结果如下:
$('.btn').click(function() {
alert($(this).parent().prev().children('div').text());
});
在此处试试:http://jsfiddle.net/YLcjf/2/
(我猜你应该对所有这些解决方案进行基准测试。不确定是否发现&#39;有一些与之相关的贪婪算法惩罚)
答案 4 :(得分:0)
$("button").click(function(){
alert($(this).parents("tr")
.find("div#ParentID").text());
});