2010-02-26 128 views
2

我有一个锚标记,我想禁用或启用取决于某些条件。我可以这样使用下面的函数才达到:禁用锚标记并删除下划线中的下划线

function disableEnableAnchor(obj, disable) { 
    if(disable) { 
     var href = obj.getAttribute("href"); 
     if(href && href != "" && href != null) 
      obj.setAttribute('href_bak', href); 
     obj.removeAttribute('href');   
    } else { 
     var href_bak = obj.attributes['href_bak'].nodeValue;   
     obj.setAttribute('href', href_bak); 
    } 
} 

但是当锚处于禁用状态,我无法删除下划线。我该如何在这个功能中实现这个功能?

+0

为什么作为维基问? – spender 2010-02-26 11:06:14

回答

1

这听起来像一个样式表问题。有没有像

a { 
    text-decoration: underline; 
} 

在应用于页面的CSS文件?

使用以下CSS替换它应使<a>标记只有在具有href属性时才加下划线。

a:link, 
a:visited, 
a:hover, 
a:active { 
    text-decoration: underline; 
} 
3
obj.style.textDecoration = "none" 
+0

这不会起作用,因为它会让obj失去已设置的文本装饰,如禁用和渐变。 – 2010-02-26 11:27:00

2

您可能需要考虑用跨度替换锚点。

+0

我想要的是一旦锚点被禁用,即它不包含'href'属性并且属性'disabled'为真,下划线不应该出现。我应该怎么做呢? – 2010-02-26 11:36:06

0

使用该上HTML:

<a href="mylink" style="text-decoration