<script language="javascript">
function test() {
var txt = document.getElementsByName("txt");
for(i = 0; i < txt.length; i++) {
alert(txt[i].innerHTML);
}
}
</script>
<div style="cursor:pointer" onclick="test()">wwww</div>
<div name="txt">11</div>
<div name="txt">22</div>
<div name="txt">33</div>
<div name="txt">44</div>这个代码在FF上没问题,在IE上没反应,也没有错误图标。
我这个写得不符合W3C标准吗?
如果要在IE上也识别的话该怎么写????JavaScript板块太冷清了,问了半天也没人回一个

解决方案 »

  1.   

    function getElementsByName(tag,eltname){
      var elts=document.getElementsByTagName(tag);
      var count=0;
      var elements=[];
      for(var i=0;i<elts.length;i++){
         if(elts[i].getAttribute("name")==eltname){
            elements[count++]=elts[i];
         }
      }
      return elements;
    }
    使用方法:
    <input type="checkbox" name="chk" />
    <input type="checkbox" name="chk" />
    <input type="checkbox" name="chk" />var eltments=getElementsByName("input","chk"); 注:因为是自己做的函数,所以查找是全局的。
      

  2.   

    <script language="javascript">
    function test() {
        var txt = document.getElementsByTagName("div");
        for(var i = 0; i < txt.length; i++) {
            if(txt[i].name = "txt")alert(txt[i].innerHTML);
        }
    }
    </script>
    <div style="cursor:pointer" onclick="test()">wwww</div>
    <div name="txt">11</div>
    <div name="txt">22</div>
    <div name="txt">33</div>
    <div name="txt">44</div>
    ie中(我的ie7是这样)div不支持div的name遍历
      

  3.   

    我要的是非表单标签。div,span 等等
      

  4.   

    解决了虽然不是标准的写法,但是我们不能总面向程序,而更得面向客户。
    <div style="cursor:pointer" onclick="test()">wwww</div>
    <div name="txt" id="txt">11</div>
    <div name="txt" id="txt">22</div>
    <div name="txt" id="txt">33</div>
    <div name="txt" id="txt">44</div>