我可以更改某些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或原型选择它..我不能使用任何这些..
答案 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样式级联到锚标记上。