繁体   English   中英

在href标签内使用jQuery

[英]Using jQuery inside of an href tag

我正在尝试从href属性的<a>标签中找到一种调用jQuery语句的方法。 我的代码看起来像这样:

<a href="javascript:$('#myElement').addClass('test');">

当我点击此链接时,浏览器(Firefox)会转到一个空白页面:

[object Object]

重要提示:我正在使用第三方插件生成锚标记代码,因此我无权将代码添加到<a>标记的onclick事件中。 我还希望不必在我们使用AJAX时将函数作为语句的包装器引入。

有趣的是,这有效:

<a href="javascript:alert('test');">

有没有理由说jQuery语句在href属性中不起作用? 它是导致问题的主要美元符号吗? 有没有办法让它发挥作用?

javascript: URI的返回值是用于构成浏览器应该转到的页面的数据。

jQuery的调用将返回一个jQuery对象。 alert的调用将返回undefined (被视为No Content响应)。

你可以将脚本包装在对void()的调用中(将jQuery的返回值作为参数传递给它),但我真的建议整理底层系统,这样你就不必使用javascript: URI了第一名。

你可以通过在函数中包装调用来解决这个问题:

<a href="javascript:(function(){$('#myElement').addClass('test');})()">asdf</a>

但更好的选择是使用javascript点击事件:

<a href="#" onclick="$('#myElement').addClass('test');return false;">asdf</a>

甚至更好,在其他地方连接:

<a href="#" id="somelink">asdf</a>

jQuery(document).ready(function() {
    jQuery("#somelink").click(function() {
        $('#myElement').addClass('test');
        return false;
    });
});    

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM