获取dom对象(3)

<html>
<head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
    <title>获取dom对象</title>
</head>
<body>
    <input class="btn1" type="button" value="mybtn1" />
    <input class="btn1" type="button" value="mybtn2" />
    <img src="" alt="img1" />
    <img src="" alt="img2" />
    <div id="mydiv">
        <input class="btn2" type="button" value="mybtn3" />
        <input class="btn2" type="button" value="mybtn4" />
    </div>
</body>
</html>

<script type="text/javascript">
    //兼容ie浏览器测试
    var console = console || {};
    console.log = console.log || function(a){
        alert(a);
    }

    /*
    getElementsByTagName(tag);
    通过元素名获取到tag相同的dom对象集合.
    这个方法效率比较低,在实际开发中用的比较少,建议大家也根据实际情况使用.
    但是在我们使用框架获取dom的时候,不知不觉就用了这个方法,比如:jquery的$(".class").
    这个问题,后面再讲,我们先看一下这个方法的实例.
    */

    //获取所有的input元素
    var input = document.getElementsByTagName("input");

    //我们知道文档中有四个input,输出length
    console.log(input.length);//4

    //如果我们要获取其中的某一个或几个input,就只能循环获取了
    //如:获取class=btn1的按钮
    for(var i = 0,len = input.length; i < len; i++){
        var dom = input[i];
        //获取dom的class,注意dom属性中的class,属性名叫className
        //有一点可以留意的是,dom属性中,一般包含多个英文单词的或者属性带_的,在js中命名格式都是驼峰式.
        var name = dom.className;
        if(name === "btn1"){
            console.log(dom.value);//mybtn1,mybtn2
        }
    }

    /*
    其实这个方法还有更高效的使用方法,因为每一个dom对象都有这个方法.
    如:
    需要获取到id=mydiv所有的input子元素,我们就不需要先获取全部的,然后再循环.
    直接先得到mydiv的dom,然后通过mydiv的getElementsByTagName方法获取input元素
    */
    var mydiv = document.getElementById("mydiv");
    var input = mydiv.getElementsByTagName("input");

    //输出获取到的input
    for(var i = 0,len = input.length; i < len; i++){
        var dom = input[i];
        console.log(dom.value);//mybtn3,mybtn4
    }

    /*
    这个方法,还有一种用法,当传入特殊字符"*"的时候,将返回文档全部元素.
    这个功能,我们经常用来封装一些其他方式的获取dom方法.
    比如:
    使用jquery的时候,经常通过class获取dom,但是在DHTML中是没有这个方法的.
    */

    //获取全部元素
    var all = document.getElementsByTagName("*");
    for(var i = 0,len = all.length; i < len; i++){
        var dom = all[i];
        console.log(dom.tagName);//HTML,HEAD,META,TITLE,BODY,INPUT ...
    }

    /*
    扩展知识点:
    js获取dom的三个基本方法就这样了,当然js还有很多其它的方式获取dom元素.
    比如:
    通过层级关系,firstChild/lastChild/previousSibling/nextSibling
    父子关系查找等.parentNode/children/childNodes

    当然了在最新的js版本中,又加入了两个新的获取dom方法,并且效率很高.
    他们分别是:
    document.querySelector();
    document.querySelectorAll();
    他们只适用 IE8+,chrome,firefox
    */

</script>

获取dom对象(3)

时间: 2024-08-06 20:00:09

获取dom对象(3)的相关文章

获取dom对象(2)

<html> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> <title>获取dom对象</title> </head> <body> <input name="btn1" type="button" value="myb

获取dom对象(1)

<html> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> <title>获取dom对象</title> <style> #btn3{ border:1px solid red; } #btn33{ border:1px solid blue; } </style> </

获取dom对象(4)

<html> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> <title>获取dom对象</title> </head> <body> <input id="btn1" class="btn1" type="button&

extjs 获取Dom对象

对象指页面上的某一部分,如:Input等.我觉得在EXT JS中会有三类基本对象,htmlelement , EXT.Element和CompositeElement .分别解释一下: htmlelement指html页面的各种标记元素,可以用document.getElementById()获得,具有html对象的方法和属性. EXT.Element是最重要的EXT对象,在dom对象的基础上,又包装了很多方法和属性,可以用EXT.get()获取. CompositeElement 是一组EXT

做一个类似JQuery获取DOM对象的$()

在dom操作时,有时根据id获取单个对象.有时根据className获取多个对象.平常可能我们用两个函数来实现这两个功能.不过我将它们整合了一下,目前使用情况良好,函数如下: view source print? 01 // 根据selector获取单个或多个元素, 02 // 获取多个元素时,可以指定元素的tag类型和父元素 03 function $(selector, tag, parent) { 04     var ret = []; 05     06     //没有传递selec

js获取dom对象style样式的值

js获取到的dom对象的style通常是没有值得,因为我们都写在外部文件中,从慕课网上见到讲师封装的一个方法,挺不错.特此记录下来. 1 function getStyle(obj,attr){ 2 if(obj.currentStyle){//兼容IE 3 return obj.currentStyle[attr]; 4 }else{ 5 return getComputedStyle(obj,false)[attr]; 6 } 7 }

JavaScript获取DOM对象的几种方式

1.getElementById() 方法可返回对拥有指定 ID 的第一个对象的引用 2.getElementsByName() 方法可返回带有指定名称的对象的集合 3.getElementsByTagName() 方法可返回带有指定标签名的对象的集合 4.getElementsByClassName() 方法可返回带有指定类名的对象的集合 5.querySelector() 方法可返回匹配指定 CSS 选择器的一个对象的引用 6.querySelectorAll() 方法可返回匹配指定 CSS

js操作DOM对象及怎么获取浏览器宽高

DOM独立于具体的编程语言,通常通过JavaScript访问DOM,不过并不严格要求这样.可以使用任何脚本语言来访问DOM,这要归功于其一致的API.getElementById(id) (document) 获取有指定惟一ID属性值文档中的元素getElementsByTagName_r(name) 返回当前元素中有指定标记名的子元素的数组hasChildNodes() 返回一个布尔值,指示元素是否有子元素getAttribute(name) 返回元素的属性值,属性由name指定有了W3C D

JavaScript之DOM对象的获取

之前我们讲过JavaScript之DOM对象获取的两篇文章,本文是该系列文章之三,点击回顾上两篇文章能更好地理解本文.<JavaScript之DOM对象的获取(一)>: <JavaScript之DOM对象的获取(二)> 接下来,开始讲述本文内容.在文档中,我们还可以通过不同的现象和特征获取DOM对象. 8.document.activeElement 这是一个属性,返回当前获取焦点的元素  效果 9.document.anchors 返回对文档中所有Anchor对象的引用,即获取当