如何使用javaScript更改css样式子类?
为了使自己清楚,我们可以说我们有以下代码:
ul#main-menu{
margin:0 0 0 285px;
padding:0 0 0 0;
list-style:none;
}
ul#main-menu li a{
margin:0 0 0 0;
padding:8px 10px 7px 10px;
color:#FFF;
}
我可以使用代码document.getElementById('main-menu').style.marginLeft='10px';
那么如何使用javaScript改变li a
的颜色?
答案 0 :(得分:2)
var anchors = document.querySelectorAll('ul#main-menu li a');
for(var i = 0, len = anchors.length; i < len; i ++) {
anchors[i].style.color = 'red';
}
使用普通的旧JavaScript:
var lis = document.getElementById('main-menu').children;
Array.prototype.forEach.call(lis, function(li) {
var anchors = li.getElementsByTagName('a');
Array.prototype.forEach.call(anchors, function(a) {
a.style.color = 'green';
});
});
答案 1 :(得分:1)
如果不使用jQuery,此代码段将存储主菜单中每个a
中可找到的每个li
。然后,它将遍历每个项目并将其文本颜色设置为red
。
var a_list = document.querySelectorAll('#main-menu li a');
for (var i=0; i<a_list.length; i++) {
a_list[i].style.color = 'red';
}
如果你正在使用jQuery,你可以完成同样的事情:
$('#main-menu li a').css('color','red');
但是,请注意,使用JavaScript设置样式规则并不是一个好习惯,因为这是CSS的设计目的。如果您使用JavaScript将类(可能类似.higlighted-text
)添加到您的a
元素中,那样会更好,因此行为符合您的意愿。
答案 2 :(得分:0)
document.getElementById('main-menu').getElements("li a").style.color="some_color";
// Or simply
document.getElements("#main-menu li a").style.color="some_color";
答案 3 :(得分:0)
$('#main-menu li a').css('color':'Red');