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 が必要であるため、ID "ParentID"<div>を持つ複数の要素は存在できないことに注意してください。例としてのみ使用していただければ幸いです。

于 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

これを行うと、次の結果が得られます。

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

ここで試してみてください: http://jsfiddle.net/YLcjf/2/

(これらすべてのソリューションをベンチマークする必要があると思います。「検索」に貪欲なアルゴリズムペナルティが関連付けられているかどうかはわかりません)

于 2013-03-11T14:43:43.473 に答える
0
$('button').click(function(){
    var dataYouWant = $(this).parent().find('div').html();
});
于 2013-03-11T14:39:17.590 に答える
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 に答える