使用 jquery 取消 href 不起作用

发布于 2024-10-11 05:13:40 字数 307 浏览 6 评论 0原文

我正在尝试删除指向确定类的链接,以便改为执行Javascript(onclick之类的东西)(如果是的话,则启用了javascript。这就是为什么我想将href保留在源代码中..任何方式,我正在尝试:

<script type="text/javascript">

        $(document).ready(function() {
                   $('.remove').attr('href', '#');
        });

</script>

但它没有:S

I'm trying to remove the links to determinated class of so the Javascript it's executed instead ( onclick and things like that ) (and if of corse, javascript it's enabled. that's why i want to keep the href in the source code.. any way, i'm trying with:

<script type="text/javascript">

        $(document).ready(function() {
                   $('.remove').attr('href', '#');
        });

</script>

but it doesn't :S

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

熟人话多 2024-10-18 05:13:40

试试这个...

$('.remove').removeAttr('href');

href 设置为空白片段 # 是不好的做法,很糟糕而且丑陋。它经常使浏览器跳转到页面顶部。

或者,使用您的点击处理程序,您可以执行...

$('a').click(function(event) {
   event.preventDefault();
});

您还可以返回 false

Try this instead...

$('.remove').removeAttr('href');

Setting the href to a blank fragment # is bad practice, hacky and ugly. It often makes the browser jump to the top of the page.

Alternatively, with your click handlers you could do...

$('a').click(function(event) {
   event.preventDefault();
});

You can also return false.

不甘平庸 2024-10-18 05:13:40

我有点理解你想要做什么,正确的方法不是删除 # href ,我不建议返回 false,因为你将无法传递 jQuery 对象:

$(document).ready(function() {
   $("#anchorId").click(function(event){
     event.preventDefault();
     //do stuff
   });
});

I kind of understand what your trying to do and the right way to go about it is not removing the # href , i would not advise on returning false because you wont be able to pass the jQuery object:

$(document).ready(function() {
   $("#anchorId").click(function(event){
     event.preventDefault();
     //do stuff
   });
});
嘿看小鸭子会跑 2024-10-18 05:13:40

只需添加推荐的 event.preventDefault() 作为事件处理程序的最后一行。
您不需要更改 href 值。

根据您的代码:

    $(document).ready(function() {
               $('.remove').click(function(event) {
                       // your Javascript stuff

                       // Most import jquery line
                       event.preventDefault();
               }
    });

Just add the recommended event.preventDefault() as the last line for your event handler.
You don't event need to change the href value.

Base on your code:

    $(document).ready(function() {
               $('.remove').click(function(event) {
                       // your Javascript stuff

                       // Most import jquery line
                       event.preventDefault();
               }
    });
巴黎盛开的樱花 2024-10-18 05:13:40

为了使它更简单,只需使用 HTML:

<a href="http://stackoverflow.com" onclick="return false;">Stack Over Flow</a>

如果你想做一个 JS,带有函数

<script type="text/javascript">
 function RemoveHREF(type){
  $(type).attr('href', '#');
 }
</script>

你的 HTML 应该

<a href="http://stackoverflow.com" class="URL5">Stack Over Flow</a>

现在来调用该函数

<script type="text/javascript">
 $(document).ready(function() {
  RemoveHREF('.URL5');
 });
</script>

To make it more easy, just using an HTML:

<a href="http://stackoverflow.com" onclick="return false;">Stack Over Flow</a>

If you want to do a JS, with function

<script type="text/javascript">
 function RemoveHREF(type){
  $(type).attr('href', '#');
 }
</script>

Your HTML should be

<a href="http://stackoverflow.com" class="URL5">Stack Over Flow</a>

Now to call for the function

<script type="text/javascript">
 $(document).ready(function() {
  RemoveHREF('.URL5');
 });
</script>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文