javascript - 单击时捕获链接 ( ) 元素中的文本
问问题
267 次
5 回答
8
改变这个...
$('.mylinkclass').click(function(){getLinkText();});
对这个……
$('.mylinkclass').click(getLinkText);
这样您就可以直接将该函数分配为处理程序。这样,它的this
值将是对单击的元素的引用。
如果在调用之前还有其他工作要做getLinkText
,您可以通过this
作为参数传递元素来传递...
$('.mylinkclass').click(function(){
// do other work
getLinkText(this);
});
function getLinkText(el){
alert($(el).text());
return false;
}
或者通过在函数中使用.call
或.apply
使this
具有相同的值...
$('.mylinkclass').click(function(){
// do other work
getLinkText.apply(this, arguments);
});
function getLinkText(){
alert($(this).text());
return false;
}
于 2012-05-25T14:36:17.397 回答
1
this
当您从匿名函数内部调用它时,您的引用会丢失
$('.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;
}
于 2012-05-25T14:38:57.800 回答
0
你也可以这样写:
$('.mylinkclass').click(function(e)
{
e.preventDefault(); // we don't want to cause the page to refresh or jump to top
alert($(this).text());
});
于 2012-05-25T14:38:06.553 回答
0
你的问题是你如何设置/调用你的 getLinkText() 函数。
尝试以下操作:
$('.mylinkclass').click(getLinkText);
您需要将getLinkText
自己作为点击处理程序传递,而不是调用的匿名函数getLinkText
于 2012-05-25T14:38:45.350 回答
0
您可以使用text()函数$(".mylinkclass").text($(".link").text()获取链接中的文本
于 2012-05-25T14:45:35.417 回答