为什么';t jQuery$(this).text()是否在链接中工作?

为什么';t jQuery$(this).text()是否在链接中工作?,jquery,Jquery,你知道为什么这样不行吗 <a href="javascript:alert($(this).text())">Alert This Text Here</a> 我希望它提醒“在这里提醒此文本”,但我得到了一个jQuery错误(G未定义) 我遗漏了什么?我假设“this”与您正在单击的链接没有关联。它从未被赋予联想此不会从标记/语法派生其关联 以下工作: <a href="#" onClick="alert($(this).text());">Some T

你知道为什么这样不行吗

<a href="javascript:alert($(this).text())">Alert This Text Here</a>

我希望它提醒“在这里提醒此文本”,但我得到了一个jQuery错误(G未定义)

我遗漏了什么?

我假设“this”与您正在单击的链接没有关联。它从未被赋予联想<代码>此不会从标记/语法派生其关联

以下工作:

<a href="#" onClick="alert($(this).text());">Some Text</a>
此示例要求您的锚具有class=“someClass”功能。

如果您使用“onclick”事件处理程序,
将可用于获取
文本()

在此警告此文本
...
$(函数(){
$(“#警报”)。单击(函数(){
警报($(this.text());
});
});
正如上面的海报所提到的,这需要在选择器中才能有上下文

在jQuery$(this)中指的是jQuery对象,通常位于循环或其他选择器的上下文中。因此,基本上您希望在jquery中选择一个对象,然后使用$(this)

例如:

$("a").click(function(){alert($(this).text());});  
这将起作用,因为$(This)位于所选链接的上下文中

我认为您将它与标准javascript“this”引用相混淆,后者将为您提供当前DOM对象

这篇文章给出了一个很好的解释:

return false的作用与event.preventDefault()相同。关于href javascript协议没有上下文,您是对的。试试这个。在FF、Safari和IE中返回true。可能也是Chrome。这可能符合规范,但我并没有发现任何有用的粗略搜索。
<a id="alert">Alert This Text Here</a>
...
$(function() {
  $("#alert").click(function() {
    alert($(this).text());
  });
});
$("a").click(function(){alert($(this).text());});