1

td a最初のアンカーの innerHTML を取得する方法を教えてもらえますか? 私はこれを正しく理解できないようです。私が探しているのは、「テスト 1」と「テスト 2」の値です。

<tr>
  <td data-pid="2"><a data-pid="2" href="#"><a href="#">test 1</a></td>
  <td><a data-pid="2" class="manage-icon" href="#"><img alt="" src="delete.png"></a></td>
</tr>
<tr>
  <td data-pid="3"><a data-pid="3" href="#">test 2</a></td>
  <td><a data-pid="3" class="manage-icon" href="#"><img alt="" src="delete.png"></a></td>
</tr>

編集: イベントの説明が不十分で申し訳ありません。クリックした行の innerHTML が必要です。したがって、行 33 をクリックしてその値が「test 33」である場合、それを確認する必要があります。

私はクリック機能を使用しています:

$(document).on("click",".manage",function(e){...
4

4 に答える 4

4

画像をクリックしていると仮定して、これを試してください(代わりにリンクでトリガーしたい場合は、に変更imgしてくださいa):

$('img').click(function () {
    console.log($(this).closest('tr').find('a').html());
});

ただし、HTML にエラーがあります (閉じていないアンカー)。

jsFiddle の例

于 2013-09-01T05:14:56.780 に答える
3

私はお勧めします:

$('tr').click(function(){
    var aText = $(this).find('td:first-child a').html();
});

JS フィドルのデモ

デモでは、最初の行の要素の HTML を編集して、2 行目の最初の要素の形式に一致させていることに注意してください(余分tda開始タグはエラーのようですが、意図的な場合は jQuery が修正)。

参考文献:

于 2013-09-01T05:20:46.377 に答える
0

test1 、 test2 に言及した innerHtml 値を取得するには、次.text()のような関数を使用できます

$('td a').text();

td の最初の子を取りたい場合は、次のようにします。$('td:first-child a').text();

于 2013-09-01T05:22:22.223 に答える
0

については、 text
BTWを意味していると思いますこの行にエラーがあります:

<td data-pid="2"><a data-pid="2" href="#"><a href="#">test 1</a></td>
                                          ^^^^^^^^^^^^ extra

これが役立つかもしれません:LIVE DEMO

$('table tr').click(function( e ){
  e.preventDefault();                 // prevent unwanted anchor click behavior
  var txt = $('td a', this).text();   // use .html() if you need to  
  alert( txt );                       // Test text value
});

テーブルの行を動的に入力する場合は、次のようにします。

$('table').on('click', 'tr', function( e ){
于 2013-09-01T05:23:14.920 に答える