用javascript改变divs css

时间:2009-12-07 15:02:26

标签: javascript html css

我可以更改某些div链接的样式吗?这就是我的意思

<div id="somediv"><a href="#">something</a>/div>

让我说我有这样的css:

#somediv a{
color:#000;
}

现在例如在某些操作上,例如鼠标点击我要更改的任何元素,将链接css更改为

#somediv a{
color:#00ffff;
}

我知道如何使用Document.get.elementById('somediv')选择div,是否可以使用上述方法或其他方法选择?

谢谢

DETAILS:是的我知道如何使用jquery或原型选择它..我不能使用任何这些..

6 个答案:

答案 0 :(得分:6)

如果您只想将样式应用于特定元素,则很容易做到:

document.getElementById('whatever').style.color = '#f0f';

如果你真的想要应用级联样式(例如:#someDiv a),那么它就不那么容易了(尽管它绝对可以)。我建议将新类应用于某些内容,并在CSS中使用预先存在的规则。

CSS:

#someDiv a {
    color: #000;
}
#someDiv.awesome a {
    color: #f0f;
}

使用Javascript:

document.getElementById('someDiv').className = "awesome";

答案 1 :(得分:1)

是的,您可以在运行时修改实际的CSS规则。有关详细信息,请参阅Totally Pwn CSS with Javascript

如果你正在使用jQuery或YUI,question 1079237

中有一些很好的信息

答案 2 :(得分:1)

document.getElementById ( 'somediv' ).children[0].style.color = 'new color';

假设A标签将是DIV中的第一个元素

答案 3 :(得分:1)

您可以使用CSS行为:

例如:

#somediv a:hover
{
    color:#0ff;
}

否则,您可以创建一个专用类(例如,在单击元素时使用):

#onclickclass
{
    color:#0ff;
}

然后在JavaScript中,在onClick事件上,执行:

document.getElementById('somediv').className = 'onclickclass';

答案 4 :(得分:0)

并改变风格使用

document.getElementById('somediv').className = 'your-css-class';

答案 5 :(得分:0)

如果你真的想选择锚,那么你必须遍历document.getElementById('somediv').children数组。

正如其他人所建议的那样,虽然更简单的答案是在div上设置className属性并让CSS样式级联到锚标记上。