利用className获取元素
通过className改变子元素的样式,老规矩,这里通过ul li 给大家举例
JavaScript部分
<script type="javascript">
window,onload=function(){
var oUl=document.getElementById('ul1'); //获取ul的元素
var oLi=oUl.getElementsTagName('li');
for(var i=0;i< oLi.length;i++){
if(aLi[i].className=='box'){
aLi[i].style.backgroundColor='red';
}
}
}
</script>
Body部分
<ul id="ul1">
<li></li>
<li class="box"></li>
<li></li>
<li class="box"></li>
</ul>
注:上述方法不能够满足取出body中所有class的元素
封装函数
<script type="text/javascript">
function getClass(oParent,oClass){
var result=[]; //创建一个空数组,将一个元素里面更多的class储存在数组里面
var aEla=oParent.getElementTagName('*'); //由于body下有各种元素你还不确定你需要获取哪个 所以*类似通配符,可以代替不同的元素
for(var i=0;i<aEla.length;i++){
if(aEla[i].className==oClass){
result.push(aEla[i]); //利用push添加数组
}
}
return result; //返回result数组
}
window.onload=function(){
var oUl=document.getElementById('ul1');
var oBox=getClass(oUl,'box');
for(var i=0;i<oBox.length;i++){
oBox[i].style.backgroundColor='red';
}
}
</script>
注:封装函数实际步骤就是:获取元素—筛选你需要改变的元素的样式—添加到数组—返回数组