zoukankan      html  css  js  c++  java
  • js

    1.

    DOM : Document Object Model 文档对象模型
    文档:html页面
    文档对象:页面中元素
    文档对象模型:定义 为了能够让程序(js)去操作页面中的元素
    DOM : Document Object Model 文档对象模型
    文档:html页面
    文档对象:页面中元素
    文档对象模型:定义 为了能够让程序(js)去操作页面中的元素

    DOM会把文档看作是一棵树,同时定义了很多方法来操作这棵数中的每一个元素(节点)
    DOM节点
    getElementById
    getElementByTagName
    document
    document.body
    元素.childNodes : 只读 属性 子节点列表集合
    标准下:包含了文本和元素类型的节点,也会包含非法嵌套的子节点
    非标准下:只包含元素类型的节点,ie7以下不会包含非法嵌套子节点
    childNodes只包含一级子节点,不包含后辈孙级以下的节点

    DOM节点的类型有很多种    12种
    元素.nodeType : 只读 属性 当前元素的节点类型

    元素节点    :    1
    属性节点    :    2
    文本节点     :    3

    <body>
        <ul id="ul1" style="border: 1px solid red">
            <li>1111<span>span</span></li>
            <li>2222</li>
            <li>3333</li>
            <li>4444</li>
            <p>ppppp</p>
        </ul>
    
        <script>
            window.onload = function () {
                var oUl = document.getElementById('ul1');
                console.log(oUl.childNodes.length); //11
                console.log(oUl.nodeType); //1 元素节点
                console.log(oUl.childNodes[0].nodeType); //3 文本节点
    
                console.log(oUl.attributes.length);
                console.log(oUl.attributes[0].nodeType);
                for (var i = 0; i < oUl.childNodes.length; i++){
                    if (oUl.childNodes[i].nodeType == 1){
                        oUl.childNodes[i].style.background = 'red';
                    }
                }
            }
        </script>
    
    </body>
    

     2.

    		元素.children :  只读 属性 子节点列表集合
    				标准下:  只包含元素类型的节点
    				非标准下:只包含元素类型的节点
    
    window.onload = function() {	
    	var oUl = document.getElementById('ul1');
    	alert(oUl.children.length) //5
    	for (var i=0; i<oUl.children.length; i++) {	
    		oUl.children[i].style.background = 'red';
    	}
    }
    </script>
    </head>
    
    <body>
    	<ul id="ul1" style="border: 1px solid red;">
            <li>11111 <span>span</span></li>
            <li>22222</li>
            <li>33333</li>
            <li>44444</li>
            <p>pppppppp</p>
        </ul>
    </body>
    

     3. 第一个, 最后一个, 前一个兄弟, 后一个兄弟

                //第一个子节点
                var oFirst = oUl.firstElementChild || oUl.firstChild;
                oFirst.style.background = 'red';
               
                //最后一个子节点
                var oLast = oUl.lastElementChild || oUl.lastChild;
                oLast.style.background = 'yellow';
                
                //后一个兄弟节点
                var oNext = oFirst.nextElementSibling || oFirst.nextSibling;
                oNext.style.background = 'green';
               
                //前一个兄弟节点
                var oPrev = oLast.previousElementSibling || oLast.previousSibling;
                oPrev.style.background = 'orange';
    
  • 相关阅读:
    WinForm 清空界面控件值的小技巧
    MVC 图片上传总是request.files.count() 等于0
    LinqToSQL 左连接右连接内链接
    C# utc datetime 互相转化
    mvc javascript form.submit()
    Java API中文版下载
    jQuery的链式操作
    【转】Eclipse/MyEclipse中使用复制粘贴功能卡的解决办法
    servlet什么时候被实例化?
    Jquery总结 $("h3 a", patch);
  • 原文地址:https://www.cnblogs.com/bravolove/p/5996470.html
Copyright © 2011-2022 走看看