如何解决jQuery点击事件引用与此[this]
| 我有一些超链接,当用户单击其中任何一个时,我都希望将用户定向到该特定链接。我正在使用jquery访问href属性。下面是代码。<a href=\"http://www.google.com\" class=\"class-name\">link1</a>
<a href=\"http://www.facebook.com\" class=\"class-name\">link1</a>
<a href=\"http://www.yahoo.com\" class=\"class-name\">link1</a>
现在,我要使用jQuery访问URL,我正在使用以下代码:
$(document).ready(function() {
$(\'.class-name\').click(function(){
var linkHref=$(\"this.class-name\").attr(\'href\');
alert(linkHref);
$(\'.redirect\').attr(\'href\',linkHref);
});
但是我在警报中得到“未定义”。
非常感谢您的帮助。
解决方法
var linkHref=$(this).attr(\'href\');
, 像这样更改代码
$(document).ready(function() {
$(\'.class-name\').click(function(){
var linkHref=$(this).attr(\'href\');
alert(linkHref);
});
这是您使用click方法选择的对象。因此,您无需像以前那样让jQuery基于类或id搜索对象。希望这可以澄清。
, 您的选择器错误。
this
是一个特殊的标识符,用于获取调用函数的上下文。写\"this\"
没有任何意义; jQuery
函数无法知道your4ѭ是什么。
你可能要八英镑。
您也可以编写$(this).find(\'.redirectLink\')
,但这不是您要查找的代码。
, 在jQuery中,它是指范围内的当前对象。在单击事件中,这是指单击超链接。但不要将其用引号引起来。
$(document).ready(function() {
$(\'.class-name\').click(function(){
var linkHref=$(this).attr(\'href\');
alert(linkHref);
$(\'.redirect\').attr(\'href\',linkHref);
});
});
您可以将其缩短为:
$(document).ready(function() {
$(\'.class-name\').click(function(){
$(\'.redirect\').attr(\'href\',$(this).attr(\'href\'));
});
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。