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;
}