document.getElementsByTagName("*");

解决方案 »

  1.   


    <html>
    <script language="JavaScript">
    <!--
    function reSource(){
    var obj = document.getElementsByTagName("*");
    for(var i = 0;i < obj.length; i++){
    alert(obj[i].tagName);
    }
    }
    //-->
    </script>
    <input type="text" name="oText">
    <span name="oSpan">span</span>
    <div name="oDiv">div</div>
    <img src="" name="oImg"/>
    <input type="button" name="oButton" value="获得" onclick="reSource()">
    </html>
      

  2.   

    var root=document.documentElement;
    //接着用递归算法遍历root的innerHTML即可
      

  3.   

    楼上的都答的很清楚了document.getElementsByTagName("*"),nextSibling
    需要补充一下使用nextSibling会把文字也作文节点来处理如果只想处理html
    对象可以使用一个循环来把文字节点过滤掉
    var oNode=oCurNode.nextSibling;
    while(!oNode.tagName){
        oNode=oNode.nextSibling;
    }
      

  4.   

    我用jQuery<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function(){
    $("*").each(function(idx){
    alert($(this).attr("tagName"));
    });
    });
    </script><input type="image" />
    <input type"text" />
    <select></select><span></span>
    <p></p>
      

  5.   


    hidden和readonly在ie下原本就获取不到焦点
      

  6.   

    document.getElementsByName("*")这个不就是遍利所有的吗?
      

  7.   


    可是我按tab键它还会走到hidden和readonly,并不是越过去
      

  8.   

    window.document.onkeydown = reSource;
        function reSource(){
            var keycode = event.keyCode;
            if (keycode ==9) {
                var temp = window.event.srcElement;
                var i_temp = temp;
                var obj = document.getElementsByTagName("*");
                for(var i = 0;i < obj.length; i++){                
                    if (i_temp != temp) {
                       alert(i_temp.tagName + i_temp.type + i_temp.name);
                        if (i_temp.tagName == "select" || (i_temp.tagName == "textarea" && i_temp.readOnly==false) || (i_temp.tagName == "input" && i_temp.readOnly==false && i_temp.type !="hidden")) {
                           break; 
                        } else {
                            i_temp = obj[i+1];
                        }
                    } else {
                        if (obj[i].tagName == "select" || obj[i].tagName == "textarea" || obj[i].tagName == "input") {
                        if (temp.tagName + temp.name == obj[i].tagName + obj[i].name) {
                            i_temp = obj[i+1];                        
                        }
                        } 
                    }
                //alert(obj[i].tagName +'=='+ obj[i].type+obj[i].name);
                }
                alert(i_temp.tagName + i_temp.name);
                i_temp.focus();
            }        
        }</script>
    专家帮我看看这样为什么不行
      

  9.   

      if (i_temp.tagName == "select" || (i_temp.tagName == "textarea" && i_temp.readOnly==false) || (i_temp.tagName == "input" && i_temp.readOnly==false && i_temp.type !="hidden"))
    不要用或||吧!!应该用与&&吧
      

  10.   

    var obj = document.getElementsByTagName("*");
                for(var i = 0;i < obj.length; i++){              
                  if (obj[i].tagName == "select" || (obj[i].tagName == "textarea") || (obj[i].tagName == "INPUT")) {                                        
                     if (obj[i].readOnly == true) { 
                        obj[i].tabindex = -1;
                        
                     } 
                  }                    
                } 
    动态进行tabindex赋值后为什么不起作用
      

  11.   


    <input type="text" name="otext" tabindex="1">
    <input type="hidden" name="ohidden">
    <input type="text" name="otext2" readonly>
    <input type="text" name="otext3" tabindex="2">
    <input type="text" name="otext3" tabindex="3">
      

  12.   


    hidden类型的控件就没有显示在页面上,你能获取焦点?????????????readonley="true"后我在ie和ff2下测试没获得焦点啊???你用的什么浏览器
      

  13.   

    自己搞定function onloadb(){          
               
                var obj = document.getElementsByTagName("*");
                for(var i = 0;i < obj.length; i++){              
                  if (obj[i].tagName == "select" || (obj[i].tagName == "textarea") || (obj[i].tagName == "INPUT")) {                                        
                     if (obj[i].readOnly == true) { 
                         obj[i].tabIndex = -1;
                        obj[i].setAttribute("tabIndex",-1);
                     } 
                  }                    
                } 
        } 
      

  14.   

    感谢 showbo ,s_liangchao1s ,chinmo ,mrshelly ,s_liangchao1s ,net_lover 的大力帮助。
    感谢 avon520 ,xingqiliudehuanghun ,lizhimin0310 的大力支持谢谢