如何使用Jquery删除“href”?

64
<a id="a$id" onclick="check($id,1)" href="javascript:void(0)"  class="black">Qualify</a>
在“href”被移除后,“Qualify”仍然可点击吗?
5个回答

128

您的标题问题和示例完全不同。我将从回答标题问题开始:

$("a").removeAttr("href");

至于不需要 href 的情况,通常被接受的方式是:

<a href"#" onclick="doWork(); return false;">link</a>

使用return false是必要的,这样href属性就不会实际跳转到其他页面。


29

如果您希望您的锚点仍然看起来可点击:

$("a").removeAttr("href").css("cursor","pointer");

如果您想仅从具有特定属性的锚点中删除href(例如,只具有散列标记作为href的锚点-在asp.net中可能会很有用),该怎么做?

$("a[href='#']").removeAttr("href").css("cursor","pointer");

2
同样在Javascript中也有用,我还添加了pointer-events:none。$("a[href='#']").removeAttr("href").css("cursor","pointer").css("pointer-events","none"); - Khagan

10
如果你想要移除href链接,改变指针样式并且禁止点击它,可以使用以下代码实现:

$("a").attr('href', '').css({'cursor': 'pointer', 'pointer-events' : 'none'});


这将添加第二个空的href。因此,如果您有<a href="somewhere" />,现在您将拥有<a href="somewhere" href="" />。 - RationalRabbit
使用 $("a").removeAttr("href"); - RationalRabbit

9
如果您移除超链接的href属性,那么锚点将不再是可聚焦的并且看起来就像普通文本,但它仍然可以被点击。

只要它看起来像纯文本,而不是超链接或按钮,就可以。 - Steven

1

使用:

$('a').filter('[href^="http://"],[href^="https://"]').contents().unwrap();

或者

$('a').filter('[href^="http://"],[href^="https://"]').removeAttr("href").css("cursor","not-allowed");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接