如何使用JavaScript禁用锚点?

时间:2011-04-05 13:46:22

标签: javascript html css

我必须根据条件禁用锚链接,如果某些数据到达该字段,它应该作为超链接工作,如果该数据没有来,那么链接不应该在那里? 对此有任何想法都是受欢迎的。

5 个答案:

答案 0 :(得分:14)

我无法理解你的问题正文,所以我会回答你问题的标题......

  

如何使用javascript禁用锚点?

的JavaScript

if (condition) {
    document.getElementsByTagName('a')[0].removeAttribute('href');
}

的jQuery

...因为每个人都使用它,对吧?

if (condition) {
    $('a').first().removeAttr('href');
}

答案 1 :(得分:11)

  

案例1:

要禁用:

document.getElementById(id).style.pointerEvents="none";
document.getElementById(id).style.cursor="default";

启用:

document.getElementById(id).style.pointerEvents="auto";
document.getElementById(id).style.cursor="pointer";
  

案例2:

如果您希望链接消失(不只是禁用它):

document.getElementById(id).style.display="none";

将其取回:

document.getElementById(id).style.display="block"; //change block to what you want.
  

案例3:

如果你想隐藏它,保留它的空间:

document.getElementById(id).style.visibility="hidden";

要取回它:

document.getElementById(id).style.visibility="visible";

答案 2 :(得分:2)

使用jQuery

if(!data){
  $('#linkID').click(function(e) {
    e.preventDefault();
  });
}

使用Prototype

if(!data){
  $('linkID').observe('click', function(event) { event.stop() });
}

答案 3 :(得分:1)

<a href="javascript:check()">my link</a>

function check(){
var data =document.getElementById("yourdatafield").value;
if(data)
  window.location="your_link_location";

}

答案 4 :(得分:1)

使用jQuery:

要禁用:

$('#anchor_tag').attr("disabled", true);

启用:

$('#anchor_tag').attr("disabled", false);