2013-03-11 65 views
0

下面是一個示例表格。在表格行內單擊按鈕旁邊選擇div文本

<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(); 

不顯着工作

+1

一個暗示,所有受訪者*除了我和@ inversivemedia *:'父()'方法將返回''​​元素。 – VisioN 2013-03-11 14:45:28

+1

我想知道人們嘗試執行他們的解決方案的頻率是多少... – unicorn80 2013-03-11 14:46:36

回答

3

這是怎麼可以做到:

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

注意的元素應該有唯一的ID,所以不能有幾個<div>元件ID 「ParentID」。我希望你只用它作爲例子。

+0

@insertusernamehere parent()返回節點的直接父節點,而'nearest()'返回一個間接父節點(即上行樹直到找到相應的元件)。 – VisioN 2013-03-11 14:42:19

0

試試這個

$(".btn").on("click", function() { 
$(this).parent('tr').find('div#ParentID').text(); 
}); 
0
$('button').click(function(){ 
    var dataYouWant = $(this).parent().find('div').html(); 
}); 
0

你能做到這一點,它給出結果:

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

嘗試一下這裏:http://jsfiddle.net/YLcjf/2/

(我猜你應該風向標全這些解決方案。不知道'發現'是否有一些貪婪algortithm懲罰與它相關聯)

相關問題