如何禁用特定ID的链接

时间:2013-12-29 07:29:14

标签: jquery css

我有以下HTML。

<a id="SomeLink" title="My Title" href="http://stackoverflow.com">Click Here</a>

我想禁用点击此链接。就像在CSS或Jquery中有一种方法从这个链接中删除“href”所以它不可点击?

6 个答案:

答案 0 :(得分:1)

你可以尝试这个,在准备好的处理程序中删除链接,你也可以在另一个触发事件处理程序中使用相同的链接。

 $(function(){
      $("#SomeLink").attr("href", "javascript:void(0);");
 });

OR

 $(function(){
      $("#SomeLink").attr("href", "#");
 });

答案 1 :(得分:1)

绑定一个不执行任何操作的单击处理程序,并通过返回false来禁用默认操作。

$('#SomeLink').click(function() {
    return false;
});

也许这会允许您处理具有重复ID的元素:

$('a[id=SomeLink]').click(function() {
    return false;
});

当您使用ID选择器时,jQuery使用getElementById,它只会找到带有ID的第一个元素。也许使用通用属性选择器会绕过它并使用与ID属性匹配的循环。如果这不起作用,您可能必须编写一个过滤器:

$('a').filter(function() {
    return this.id == 'SomeLink';
}).click(function() {
    return false;
});

答案 2 :(得分:0)

这很简单。只需在Jquery中使用attr

function disbleLink(){
 $("#SomeLink").attr('href','');
 }

Jsfiddle Demo here

答案 3 :(得分:0)

无法禁用链接。改为使用按钮。

<button disabled>click me</button>

如果要在单击链接时阻止默认行为,可以使用e.preventDefault()

$("a").on('click', function(e){
   e.preventDefault();
});

答案 4 :(得分:0)

您可以在JS中使用以下代码。

$('#link').click(function(e){
e.preventDefault();
});

这个代码在你的CSS中。

#link{
text-decoration:none;
color: #ccc;
}

答案 5 :(得分:0)

我找到了一个我更喜欢的答案on this site.

看起来像这样:

$(document).ready(function(){
    $("a#SomeLink").click(function () { 
        $(this).fadeTo("fast", .5).removeAttr("href"); 
    });
});

启用包括设置href属性

$(document).ready(function(){
    $("a#SomeLink").click(function () { 
        $(this).fadeIn("fast").attr("href", "http://whatever.com/wherever.html"); 
    });

});