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

试试这个,假设你点击了图片(如果你想在链接上触发,只需更改imga):

$('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 以匹配第二行的 firsttd元素的格式(额外的a开始标记似乎是一个错误,但如果是故意的,那么 jQuery 可以修正)。

参考:

于 2013-09-01T05:20:46.377 回答
0

要获得您提到的 innerHtml 值 test1 , test2 您可以使用.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

这可能会有所帮助:现场演示

$('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 回答