<div>     
<ul class="aaa">
   <li id="test0" class="bbb">1</li>
</ul>
<ul class="aaa">
   <li id="test1" class="bbb">2</li>
</ul>
<ul class="aaa">
   <li id="test2" class="bbb">1</li>
</ul>
<ul class="aaa">
   <li id="test3" class="bbb">1</li>
</ul>
</div> 
<script type="text/javascript"> 
for(var i = 0;i < 4 ;i++) {            
var curSpan =document.getElementById('test'+i+'');
}
curSpan.style.width =parseFloat(curSpan.innerHTML)*15+'px';
</script>最近一直在看书,轮到写的时候各种问题。这个循环还是没写好,另外,如果ID相同的情况下怎么办?

解决方案 »

  1.   

    什么叫ID相同的情况下,标签的ID取名不能是同名的,这样脚本会出错的
      

  2.   

    标签的class类名相同还是有可能的
      

  3.   

    如果用class是不是这个取值document.getElementById(bbbb),这样的话不是不能区分DIV了
    如果ID是test0,test1,test2.....循环怎么写
      

  4.   

    如果你想通过class来获取标签document.getElementById(bbbb)这样写就是错误的。你要先搞明白document.getElementById是做什么,是为了获取某个ID的标签。你要想通过class来获取标签可以这样写var liList = $("div li").find(".bbbb") 这样可以查到class=bbbb的所有li标签,然后循环遍历整个变量就可以了
      

  5.   

    document.querySelectorAll(".bbb");
    可以用这个方法取到所有的class为.bbb的节点
    然后再做循环操作啊
      

  6.   

    for(var i = 0;i < 4 ;i++) {            
    var curSpan =document.getElementById('test'+i+'');
    curSpan.style.width =parseFloat(curSpan.innerHTML)*15+'px';
    }
      

  7.   

    id不能重复的 so 没有如果