<body>
<div id="div1">
   <input name="name1" id="id1">
   <input name="name1" id="id2">
   <input name="name1" id="id3">
   <input name="name1" id="id4">
   <input name="name1" id="id5">
   <input name="name1" id="id6">
   <input name="name1" id="id7">
   <input name="name2" id="id8">
</div>
<input name="name1" id="id8">
</body>我想获取 div1 name值为 name1 的input的id号

解决方案 »

  1.   

    <body><div id="div1">
      <input name="name1" id="id1">
      <input name="name1" id="id2">
      <input name="name1" id="id3">
      <input name="name1" id="id4">
      <input name="name1" id="id5">
      <input name="name1" id="id6">
      <input name="name1" id="id7">
      <input name="name2" id="id8">
    </div>
    <input name="name1" id="id8">
    </body>
    <script type="text/javascript">
        var div1 = document.getElementById('div1');
        var name1 = div1.getElementsByTagName('input');
        for(var i = 0; i < name1.length; i++){
            if(name1[i].name == 'name1'){
                alert(name1[i].id)
            }
        }
        
    </script>
      

  2.   

    document.getElementById('div1').getElementsByName("name1");这样为什么不行呢
      

  3.   


    呃~·我之前也想这样,但是getElementById返回的dom对象,不支持用getElementsByName
      

  4.   

    <body><div id="div1">
      <input name="name1" id="id1">
      <input name="name1" id="id2">
      <input name="name1" id="id3">
      <input name="name1" id="id4">
      <input name="name1" id="id5">
      <input name="name1" id="id6">
      <input name="name1" id="id7">
      <input name="name2" id="id8">
    </div>
    <input name="name1" id="id8">
    </body>
    <script type="text/javascript">
        var childs = document.getElementsByName('name1');
        for(var i = 0; i < childs.length; i++){
            if(childs [i].parentNode.id == 'div1'){
                alert(childs [i].id)
            }
        }
        
    </script>
      

  5.   

    var inputs = document.getElementsByName('name1');
    for(var i = 0, len = inputs.length; i < len; i++){
    var input = inputs[i];
    if(input.parentNode.id === 'div1' && input.name === 'name1'){
    alert(input.id);
    }
    }
      

  6.   

    因为getElementsByName是Document对象的专有方法,Element对象并没有。而document.getElementById('div1')的结果是一个div对象,是Element类的子类的实例。
      

  7.   

    你的代码在IE上会出问题哦,IE的getElementsByName的实现有点问题,会同时查找name和id属性符合的元素。。
      

  8.   

    <html>
    <head></head>
    <body>
    <div id="div1">
      <input name="name1" id="id1">
      <input name="name1" id="id2">
      <input name="name1" id="id3">
      <input name="name1" id="id4">
      <input name="name1" id="id5">
      <input name="name1" id="id6">
      <input name="name1" id="id7">
      <input name="name2" id="id8">
    </div>
    <input name="name1" id="id8">
    <script type="text/javascript">
    var cc=document.getElementsByTagName("input");
    for(var i=0;i<cc.length-1;i++)

      if(cc[i].name=="name1")
      document.write("<br>"+cc[i].id);
      document.write("<br>");
    }
    </script>
    </body>
    </html>
      

  9.   

    这个问题是这样子的:用Jquery直接处理就行了。呵呵。
    <script language="javascript">
     var str=[];
    $(document).ready(function(){
     str= $("#div1 input[name='name1']");
     alert(str.length);
     for(var i=0;i<str.length;i++){
      alert($(str[i]).attr("id"));
    }
        
    });</script>