使用jQuery选择最接近的锚点元素

3

我有一个表格,其中有一个链接如下

 <td>
      <a href="#" class="topiclink">@item.Topic</a>
   </td>

我想选择 @item.topic 的数据。 我尝试使用

  $('.topiclink').click(function (e) {
  var val = $(this).closest('a');
        alert(val)
    });

我尝试了许多方法,但在这种情况下似乎没有任何作用。感谢您的帮助。

你需要使用 alert(val.text()) - Arun P Johny
4个回答

4

您点击的已经是一个锚点,所以:

$('.topiclink').on('click', function (e) {
    var val = $(this).text();
    alert(val);
}

我在这里还使用了.text(),因为.val()只应该用于HTML输入元素。


点赞因为你是对的,而且你显然比我更专注地阅读了... - David Thomas
@DavidThomas 非常感谢 =D - Ja͢ck

2
如果你想在单击锚点或任何锚点时获取'@item.Topic'的值,那么可以使用以下代码:
$('a').click( function () {
   console.log($(this).text());
});

2
var val = $(this).text(); 

这足以让你达到那个目标


0
你的代码中有很多错误! 你的元素已经是 '.topiclink' 类了,为什么还要找最近的元素? 直接使用 $(this) 来访问你的元素。 val() 不会返回元素的 html,你应该使用 $(this).html();
 $('.topiclink').click(function (e) {
    alert($(this).html()); 
 }

1
不要使用 InnerHTMLHTML(),它会给你 Anchor 标签内的 HTML 元素而不是文本... 请参见此处:http://jsfiddle.net/pacFf/3/。 - Pandian

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接