如何用Javascript添加另一个文本修饰定义?

时间:2009-03-23 14:38:59

标签: javascript css

我想在JavaScript的帮助下将另一个文本修饰类添加到已经有一个与之关联的类的链接中。

我希望像<a>激活的链接应该有text:decoration=none但是我无法使用CSS,因为它应用于所有链接,然后如果我声明一个新的类没有装饰。

JavaScript如何实现?

5 个答案:

答案 0 :(得分:2)

你可以这样做:

var elem = document.getElementById('ELEMENT_ID_HERE');
elem.style.textDecoration = 'none';

答案 1 :(得分:1)

如果您为所使用的所有链接设置了唯一ID,然后参考脚本中的链接,您可以更改要更改的链接:

document.getElementById('YourLinksId').style.textDecoration = 'overline';
document.getElementById('yourLinksId').onmouseover.style.textDecoration = 'blink';

您直接在元素上设置的样式将覆盖css类中设置的任何属性。

编辑:对不起,我想我误解了你的问题。如果您的意思是在点击链接时激活,请执行以下操作:

a:link {color: #FF0000}     /* unvisited link */
a:visited {color: #00FF00}  /* visited link */
a:hover {color: #FF00FF}   /* mouse over link */
a:active {color: #0000FF}   /* selected link */

w3schools

的更多资源

答案 2 :(得分:0)

如果你想使用CSS类:

var element = document.getElementById(idOfElement);
element.className = element.className + " noDecorationClass";

这会为元素添加一个新类,您也可以覆盖现有的类。

element.className = "noDecorationClass";

答案 3 :(得分:0)

我建议使用像mootools(http://mootools.net/)这样的框架。

框架简单如下:

element.addClass('my_new_css_class');

或者您可以添加新样式

element.setStyle('text-decoration', 'none');

答案 4 :(得分:0)

活动链接仅在点击时才有效。

一旦松开鼠标按钮,它就不再具有活动状态。因此,您可以使用适用于所有链接的 a:active ,因为一次只能激活一个。

我猜你真的希望它保留你的文字装饰:没有,直到点击另一个链接,在这种情况下你需要JavaScript。如果我错了,请按照@ ChrisAD的例子,但添加:

a:active {color: #0000FF;

   text-decoration: none;

}   /* selected link */