JavaScript的DOM_获取元素方法_getElementsByTagName()获取相同元素的节点列表

不管是 getElementById 还是 getElementsByTagName,在传递参数的时候,并不是所有浏览器都必须区分大小写,为了防止不必要的错误和麻烦,我们必须坚持养成区分大小写的习惯。

一、通过标签名获取节点

  1、getElementsByTagName()方法通过标签名获取节点,因为标签名会重复,所以返回一个对象数组 HTMLCollection(NodeList),这个数组保存着所有相同元素名的节点列表。

<script type="text/javascript">
     window.onload = function () {
        if(document.getElementsByTagName){                //判断是否支持 getElementsByTagName
            var li = document.getElementsByTagName(‘li‘);                 //参数传入一个标签名即可,传入*表示获取所有元素
            alert(li);                                        //返回的是一个数组集合HTMLCollection
            alert(li.length);                            //返回数组的数量
            alert(li[0]);                            //    HTMLHtmlElement节点对象,这里是第一个li标签
            alert(li.item(0));                            //同上

            //获取到了节点对象后就可以通过节点对象来获取内容等等属性
            alert(li[0].tagName);
            alert(li[0].innerHTML);
        }else{
            alert("浏览器不兼容,请更换")
        }
    };
</script>
</head>
<body>
     <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
     </ul>
</body>
</html>

  2、通过通配符获取HTML中的所以标签元素,IE 浏览器在使用通配符的时候,会把文档最开始的 html 的规范声明当作第一个元素节点。火狐浏览器的firebug会算上一个,关闭掉就不算了

<script type="text/javascript">
    window.onload = function () {
        if(document.getElementsByTagName){                //判断是否支持 getElementsByTagName
            var li = document.getElementsByTagName(‘*‘);                 //参数传入一个标签名即可,传入*表示获取所有元素
            alert(li);                                        //返回的是一个数组集合HTMLCollection
            alert(li.length);                            //返回数组的数量
            alert(li[0]);                            //    返回第一个HTMLHtmlElement节点对象
            alert(li.item(0));                            //同上
            alert(li[0].tagName);                         //在IE浏览器中第一个元素是文档的声明  !
        }else{
            alert("浏览器不兼容,请更换")
        }
    };
</script>
</head>

<body>
    <div id="box">测试Div</div>
</body>
</html>

    

  3、获取body节点对象;因为在一个HTML文档中只能有一个body节点对象,所以可以这样获取:

  window.onload = function () {
        if(document.getElementsByTagName){                //判断是否支持 getElementsByTagName
            var body = document.getElementsByTagName(‘body‘)[0];                 //如果没有加[0]返回的是数组,加上[0]返回的是body节点对象
            alert(body);
        }else{
            alert("浏览器不兼容,请更换")
        }
    };

  4、也可以先通过getElementById获取id后,再通过getElementByTagName获取这个id下面的的指定的元素,而不是获取整个文档中的那个元素

   

时间: 2024-08-02 06:58:23

JavaScript的DOM_获取元素方法_getElementsByTagName()获取相同元素的节点列表的相关文章

JavaScript的DOM_获取元素方法_getElementById()获取特定ID元素的节点

一.通过标签的id属性值获取该标签节点 接受一个参数:如果找到相应的元素则返回该元素的 HTMLDivElement 对象,如果不存在,则返回 null. <script type="text/javascript"> window.onload = function(){ var box = document.getElementById('box'); //获取 id 为 box 的元素节点 alert(box.id); } </script> </h

JavaScript的DOM_获取元素方法_getElementsByName()获取相同名称(name)的节点列表

一.通过标签的name属性获取节点 1.getElementsByName()方法通过标签的name属性获取节点,因为name有相同,所以返回一个对象数组HTMLCollection(NodeList). <script type="text/javascript"> window.onload = function () { if(document.getElementsByName){ var box = document.getElementsByName('text

获取调用者Class和method、反射获取get方法、获取注解信息

调用者Class 及 method StackTraceElement stacks[] = Thread.currentThread().getStackTrace(); for (StackTraceElement stack : stacks) { String className = stack.getClassName(); if (className.contains("com.upsoft") && className.contains("Con

Effective JavaScript Item 21 使用apply方法调用函数以传入可变参数列表

本系列作为Effective JavaScript的读书笔记. 下面是一个拥有可变参数列表的方法的典型例子: average(1, 2, 3); // 2 average(1); // 1 average(3, 1, 4, 1, 5, 9, 2, 6, 5); // 4 average(2, 7, 1, 8, 2, 8, 1, 8); // 4.625 而以下则是一个只接受一个数组作为参数的例子: averageOfArray([1, 2, 3]); // 2 averageOfArray([1

JavaScript的DOM_获取元素周边大小

一.clientLeft 和 clientTop 这组属性可以获取元素设置了左边框和上边框的大小,目前只提供了 Left 和 Top 这组,并没有提供 Right 和 Bottom. <script type="text/javascript"> window.onload = function(){ var box = document.getElementById("box"); alert(box.clientLeft); alert(box.cl

JavaScript的DOM_获取/设置/移除特定元素节点的属性_getAttribute()/setAttribute()/removeAttribute()

一.获取特定元素节点的属性的值_getAttribute() 1.getAttribute()方法将获取元素中某个属性的值.它和直接使用.属性获取属性值的方法有一定区别. <script type="text/javascript"> window.onload = function(){ var box = document.getElementById('box'); alert(box.bbb); // 获取元素的自定义属性值,非 IE 不支持 自定义的属性不可以,结

常用数组、字符串方法总结&amp;获取元素、DOM操作

字符串的方法.返回值.是否改变原字符串:1 charAt() 方法可返回指定位置的字符. 不改变原始字符串 JavaScript并没有一种有别于字符串类型的字符数据类型,返回的字符是长度为 1 的字符串: 注释:字符串中第一个字符的下标是 0.如果参数 index 不在 0 与 string.length 之间,该方法将返回一个空字符串. 2 concat() 方法用于连接两个或多个字符串并返回连接后的字符串 不改变原始字符串 语法:stringObject.concat(stringX,str

JavaScript的DOM_获取和操作层次节点

一.层次节点的概述 节点的层次结构可以划分为:父节点与子节点.兄弟节点这两种.当我们获取其中一个元素节点的时候,就可以使用层次节点属性来获取它相关层次的节点. 二.childNodes 属性 childeNodes 属性可以获取某一个元素节点的所有子节点,这些子节点包含元素子节点和文本子节点. <script type="text/javascript"> window.onload = function(){ var box = document.getElementBy

利用JQuery在iframe中获取父亲窗口的元素方法

$(window.parent.document).find("#blackbg").css("opacity","0");$(window.parent.document).find("#divdyiframe").css("display","none");利用Javascript在iframe中获取父亲窗口的元素方法window.parent或者是window.toptop永远指向