Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/451.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击时捕获链接(<;a>;)元素中的文本_Javascript_Jquery_Html_Hyperlink - Fatal编程技术网

Javascript 单击时捕获链接(<;a>;)元素中的文本

Javascript 单击时捕获链接(<;a>;)元素中的文本,javascript,jquery,html,hyperlink,Javascript,Jquery,Html,Hyperlink,我需要捕获和标记之间的文本,并弹出一条消息。我尝试如下操作。但是,困难的是,我无法为链接提供id,因为链接是动态生成的。因此我尝试为它们提供类,并使用jquery选择元素 然后,我不确定如何使用jquery选择当前单击的元素 假设生成的链接如下所示 <a href="#" class="mylinkclass"> first link </a> <br> <a href="#" class="mylinkclass"> second link &l

我需要捕获和标记之间的
文本
,并弹出一条消息。我尝试如下操作。但是,困难的是,我无法为链接提供id,因为链接是动态生成的。因此我尝试为它们提供
,并使用
jquery
选择元素

然后,我不确定如何使用jquery选择当前单击的元素

假设生成的链接如下所示

<a href="#" class="mylinkclass"> first link </a> <br>
<a href="#" class="mylinkclass"> second link </a> <br>
<a href="#" class="mylinkclass"> third link </a> <br>
<a href="#" class="mylinkclass"> fourth link </a> <br>
改变这个

 $('.mylinkclass').click(function(){getLinkText();});
对此

 $('.mylinkclass').click(getLinkText);
因此,您直接将函数指定为处理程序。这样,它的
这个
值将是对所单击元素的引用


如果在调用
getLinkText
之前还有其他工作要做,您可以通过将
this
作为参数传递来传递元素

 $('.mylinkclass').click(function(){
     // do other work
     getLinkText(this);
 });

function getLinkText(el){

    alert($(el).text());
    return false;
}
或者使用
.call
应用
使函数中的
具有相同的值

 $('.mylinkclass').click(function(){
    // do other work
    getLinkText.apply(this, arguments);
 });

function getLinkText(){

    alert($(this).text());
    return false;
}
你也可以写它:

$('.mylinkclass').click(function(e)
  {
    e.preventDefault(); // we don't want to cause the page to refresh or jump to top
    alert($(this).text());
  });

您的问题是如何设置/调用getLinkText()函数

请尝试以下操作:

$('.mylinkclass').click(getLinkText);

您需要将
getLinkText
本身作为点击处理程序传递,而不是调用
getLinkText

的匿名函数。当您从匿名函数内部调用时,此
引用将丢失

$('.mylinkclass').click(function(){
   alert($(this).text());
   return false;
});


您可以使用text()函数$(“.mylinkclass”).text($(“.link”).text()

+1获取链接中的文本,用于
其他工作
代码,因为在大多数项目中,我们都必须执行这些操作。选择似乎有一些问题。。甚至
$('.mylinkclass')。单击(函数(){.alert)('hi');});
不会导致警报框。.生成的链接是
class=mylinkclass
@damon:在问题中,您的
$(文档)。就绪…
缺少
最后。这将是一个语法错误。请检查代码中是否存在语法错误。并确保浏览器的开发人员控制台保持打开状态以查找错误。谢谢。问题已通过解决
$('.mylinkclass').click(function(){
   alert($(this).text());
   return false;
});
$('.mylinkclass').click(getLinkText);

function getLinkText(){
//..
$('.mylinkclass').click(function () {
   getLinkText(this);
});

function getLinkText(that){
   alert($(that).text());
   return false;
}