使用jquery取消href无法正常工作

时间:2011-01-11 01:29:37

标签: jquery href

我正在尝试删除确定类的链接,因此它执行的Javascript(onclick和类似的东西)(如果是corse,javascript它已启用。这就是为什么我想在源代码中保留href ..无论如何,我正在尝试:

<script type="text/javascript">

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

</script>

但它没有:S

4 个答案:

答案 0 :(得分:2)

试试这个......

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

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

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

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

您也可以return false

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

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

基于您的代码:

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

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

答案 3 :(得分:-1)

为了让它更简单,只需使用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>