js dom 获取标签对象

1.通过集合获取标签对象

常用方法:

all: 获取所有标签对象
forms:获取所有form标签对象
images: 获取所有img标签对象
links: 获取所有a标签对象

<script type="text/javascript">
    var nodeList;
    //nodeList = document.all;
    /*for (var i=0;i<nodeList.length;i++){
        alert(nodeList[i].nodeName);
    }
    //结果:html,head,meta,title,body,script

    /*nodeList = document.forms;
    for (var i=0;i<nodeList.length;i++){
        alert(nodeList[i].nodeName);
    }
    结果:form,form
    */

    /*nodeList = document.images;
     for (var i=0;i<nodeList.length;i++){
        alert(nodeList[i].nodeName);
     }*/

    nodeList = document.links;
    for (var i=0;i<nodeList.length;i++){
        alert(nodeList[i].nodeName);
    }
</script>

2.通过关系查询标签对象

常用方法:

父节点: parentNode属性
子节点: childNodes属性
第一个子节点: firstChild属性
最后一个子节点: lastChild属性
下一个兄弟节点: nextSibling属性
上一个兄弟节点: previousSibling属性
注意:

  1. childNodes属性,firstChild属性,lastChild属性获取的子节点包含了以下的元素:
    a)标签 1
    b)空格换行 3
    c)html注释 8
  2. 在子节点中筛选出标签出来呢?
    可以使用nodeType属性取出nodeType值为1的节点,就是标签对象</pre>
<body>
<form><a href="">超链接</a><!--html注释 --><input type="text"/><input type="button" /></form>
<form><a href="">超链接</a><input type="type"/></form>
</body>
<script type="text/javascript">
    /*
    //得到a标签(获取第一个a标签对象)
    var aNode = document.links[0];
    //alert(aNode.nodeName);
    
    //得到父标签
    var formNode = aNode.parentNode;
    alert(formNode.nodeName);
    
    //得到form的子节点,返回数组
    var nodeList = formNode.childNodes;
    alert(nodeList.length);
    
    for(var i=0;i<nodeList.length;i++){
        //筛选出标签对象
        if(nodeList[i].nodeType==1){
            document.write(nodeList[i].nodeName+",节点类型:"+nodeList[i].nodeType+"<br/>"); 
        }
    }
    
    //第一个子节点
    var firstChild = formNode.firstChild;
    alert(firstChild.nodeName);
    
    //最后一个子节点
    var lastChild  = formNode.lastChild;
    alert(lastChild.nodeName);
    
    */
    
    var aNode = document.links[1];
    //得到下一个兄弟节点
    var next = aNode.nextSibling;
    alert(next.nodeName);
    
    //得到上一个兄弟节点
    var previous = next.previousSibling;
    alert(previous.nodeName);
</script>

3.通过document方法获取标签对象

常用方法:
  1. document.getElementById("id属性值"); 最常用
    注意:
    1)使用该方法获取的标签一定要有id属性
    2)在同一个html页面中不要出现两个同名的id
  1. documetn.getElementsByName("name属性值"); 获取同name属性名的标签列表
    注意:
    1)使用该方法获取的标签一定要有name属性
  2. document.getElementsByTagName("标签名") 获取相同标签名的标签列表
<script type="text/javascript">
    function getValue(){
        //获取输入框的内容
        //1.得到输入框标签对象
        //var userName = document.getElementById("userName");
        
        
        //2.返回的是标签数组
        //var userName = document.getElementsByName("user")[0];
        
        
        //3.返回标签对象数组
        var userName = document.getElementsByTagName("input")[0];
        
        //获取标签对象的value属性值
        alert(userName.value);
            
    }
</script>
</head>

<body>
用户名:<input type="text" id="userName" name="user" onblur="getValue()"/>
</body>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 本章内容 理解包含不同层次节点的 DOM 使用不同的节点类型 克服浏览器兼容性问题及各种陷阱 DOM 是针对 HT...
    闷油瓶小张阅读 658评论 0 1
  • DOM(文档对象模型)是针对 HTML 和 XML 文档的一个 API。DOM 描绘了一个层次化的节点树,允许开发...
    劼哥stone阅读 790评论 8 6
  • 原文 链接 关注公众号获取更多资讯 一、基本类型介绍 1.1 Node类型 DOM1级定义了一个Node接口,该接...
    前端进阶之旅阅读 3,949评论 7 34
  • 小余同学发来微信:老师,我被南开录了! 与有荣焉啊!这段时间看他偶尔更朋友圈,考研压力很大。好容易过了笔试,又等面...
    素衣烟霞阅读 255评论 0 1
  • 我的世界 你的世界 只有一扇窗户 我打开窗户 风吹过来 都是你的味道
    虚实先森阅读 305评论 0 9