<span id="mobil_1"></span><br/>
<span id="mobil_1"></span><br/>
<span id="mobil_1"></span><br/>
<span id="mobil_2"></span><br/>
<span id="mobil_3"></span><br/>
<span id="mobil_4"></span><br/>
<span id="mobil_5"></span><br/>
<span id="mobil_6"></span><br/>
...
<span id="mobil_100"></span><br/>我的目的是想在<span>与</span>输出一串HTML字符以做页面显示!(各个浏览器都能支持)问题是要是用getElementById只能认唯一的ID值,而且各个浏览器支持的也不一样!
我想问问大家,如果ID不唯一能解决么?如果必须不唯一,像如下的话:
<span id="mobil_1"></span><br/>
<span id="mobil_2"></span><br/>
<span id="mobil_3"></span><br/>
<span id="mobil_4"></span><br/>
<span id="mobil_5"></span><br/>
<span id="mobil_6"></span><br/>
我又该怎么解决啊?

解决方案 »

  1.   

    id是唯一的,你可以为id的取名有一定的规则,就像你那样,然后在js中使用循环处理参考for(int i=0;i<6;i++)
    {
    document.getElementById("mobil_"+(i+1)).innerText="your HTML";
    }
      

  2.   

    getElementsByTagName,IE就不支持,因为span没有name属性
      

  3.   

    回xshf12345:
    我怎么获取<span id="mobil_6"></span>的数量啊!
      

  4.   

    我忘记说了<span id="mobil_xxx"></span>
    <span>标记的数量是不确定的...
      

  5.   

    不能,id在所有浏览器中都是唯一的,你可以用class来表示,意为:“同一类”
      

  6.   

    getElementsByTagName("SPAN")IE支持
    getElementsByName如果元素都在某个form里面ie也支持
      

  7.   


    如果必须不唯一,像如下的话:
    <div id="id">
        <span id="mobil_1"></span><br/>
        <span id="mobil_2"></span><br/>
        <span id="mobil_3"></span><br/>
        <span id="mobil_4"></span><br/>
        <span id="mobil_5"></span><br/>
        <span id="mobil_6"></span><br/>
    </div>
    我又该怎么解决啊?
    var len = document.getElementById('id').getElementsByTagName('span').length;
    for(var i=1;i<len;i++){
        document.getElementById('mobil_'+i).innerHTML = i ;
    }
      

  8.   

    上面的  是   <=for(var i=1;i<=len;i++){
        document.getElementById('mobil_'+i).innerHTML = i ;
    }不好意思
      

  9.   

    谢谢各位大大的解答。
    getElementsByTagName对于那些span和div在不同的IE浏览器里作用不一样,有的起作用,有的不起作用,
    因为div本身没有name这个参数啊!input有!a标签有!再问一句,我怎么获取span的数量啊!如果采取如下方式的话:
    <span id="mobil_1"></span><br/>
    <span id="mobil_2"></span><br/>
    <span id="mobil_3"></span><br/>
    <span id="mobil_4"></span><br/>
    <span id="mobil_5"></span><br/>
    <span id="mobil_6"></span><br/>
    ........
      

  10.   

    先谢谢 vnetcbd 兄弟了!大家还有更好的解决办法么?!要给分了!
      

  11.   

    回:vnetcbd
    span标记很零散的放在各个地方    <span id="mobil_1"></span><br/>
        <span id="mobil_2"></span><br/>
        <span id="mobil_3"></span><br/>
        <span id="mobil_4"></span><br/>
        <span id="mobil_5"></span><br/>
        <span id="mobil_6"></span><br/>无法用一个<div></div>归置在一起啊!var len = document.getElementsByTagName('span').length这个好象不成啊
      

  12.   

    $('span').each(function(i){
        $(this).html('content' + i); // 给每一个span赋予不同的html
    })
      

  13.   

    LaWindSong能详细点么?谢谢了!
      

  14.   

    $('span')这个方法是利用jquery取到该页面的所有span对象//然后对所有的span进行遍历 赋值html 这样可以绕开ID
    $('span').each(function(i){
      $(this).html('content' + i); // 给每一个span赋予不同的html
    })
      

  15.   

    jquery那就是必须调用jquery.js文件了么?能不能简单点的啊!我这个问题的目的本身就是想给页面减肥的,再加个外部文件不是起反效果么?
      

  16.   

        <span id="mobil_1"></span><br/>
        <span id="mobil_2"></span><br/>
        <span id="mobil_3"></span><br/>
        <span id="mobil_4"></span><br/>
        <span id="mobil_5"></span><br/>
        <span id="mobil_6"></span><br/><script>
    var len = document.getElementsByTagName('span').length;
    //alert(len);
    for(var i=1;i<=len;i++){
        document.getElementById('mobil_'+i).innerHTML = i ;
    }
    </script>这样也可以的
      

  17.   


       var list = document.getElementsByTagName("span");
                alert(list.length);
                for (var i = 0; i < list.length; i++)
                {
                    list[i].innerHTML = "<b>我的文本</b>";
                }这个是可以的FF,IE8,chrome都没有问题