禁用锚标记并删除下划线中的下划线
问题描述:
我有一个锚标记,我想禁用或启用取决于某些条件。我可以这样使用下面的函数才达到:禁用锚标记并删除下划线中的下划线
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);
}
}
但是当锚处于禁用状态,我无法删除下划线。我该如何在这个功能中实现这个功能?
答
这听起来像一个样式表问题。有没有像
a {
text-decoration: underline;
}
在应用于页面的CSS文件?
使用以下CSS替换它应使<a>
标记只有在具有href
属性时才加下划线。
a:link,
a:visited,
a:hover,
a:active {
text-decoration: underline;
}
答
obj.style.textDecoration = "none"
+0
这不会起作用,因为它会让obj失去已设置的文本装饰,如禁用和渐变。 – 2010-02-26 11:27:00
答
您可能需要考虑用跨度替换锚点。
+0
我想要的是一旦锚点被禁用,即它不包含'href'属性并且属性'disabled'为真,下划线不应该出现。我应该怎么做呢? – 2010-02-26 11:36:06
答
使用该上HTML:
<a href="mylink" style="text-decoration
为什么作为维基问? – spender 2010-02-26 11:06:14