博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
11、DOM
阅读量:5142 次
发布时间:2019-06-13

本文共 2856 字,大约阅读时间需要 9 分钟。

1.元素获取方式 id tagName name className--不兼容 querySelector--不兼容,主要用于开发移动端 querySelectorAll--不兼容,主要用于开发移动端 document.documentElement.clientWidth||document.body.clientWidth浏览器的宽 document.documentElement.clientHeight||document.body.clientHeight浏览器的高
//1.id获取元素--完全兼容    //var oP=document.getElementById('p1'); //    //2.class获取元素--在IE6-8下不兼容    //var oP=document.getElementsByClassName('p1')[0];    //3.标签名--完全兼容    //var oP=document.getElementsByTagName('p')[0];    //4.name获取元素--主要用于表单元素;    //var oInput=document.getElementsByName('txt')[0];    //5.可视区的宽和高    /*var w=document.documentElement.clientWidth||document.body.clientWidth;    var h=document.documentElement.clientHeight||document.body.clientHeight;*/    //6.querySelector--只能获取一个元素   // var oP=document.querySelector('.p1');   // var oP=document.querySelector('#p1')    //var oP=document.querySelector('p')    //7.querySelectorAll    //var oP=document.querySelectorAll('.p1')[0];    //var oP=document.querySelectorAll('p')[0];    var oP=document.querySelectorAll('#p1')[0];    console.log(oP);
2.节点类型             nodeType       nodeName       nodeValue 元素节点       1             大写的标签名      null 文本节点       3             #text          文本内容 注释节点       8             #comment       注释内容 document节点  9              #document       null
var oUl=document.getElementsByTagName('ul')[0];    //var aChild=oUl.childNodes;//childNodes:子节点    var aChild=oUl.nextchildren;    //console.log(aChild[1].nodeValue)    console.log(aChild.length)
3.节点关系 parentNode  父节点 --兼容 childNodes  子节点  --兼容:问题他能拿到所有的子节点:元素节点,注释节点。。。 children  子元素-但不兼容 previousSibling 上一个哥哥节点(哥哥节点:元素节点,注释节点,document节点,文本节点) nextSibling 下一个弟弟节点 firstChild 第一个子节点 lastChild  最后一个子节点
//getChildren:获取当前元素ul下所有的子元素;    /*    * 参数:当前元素    * 返回值:当前元素下的所有的子元素    * 1.思路:    * 1)拿到所有的子节点    * 2)判断所有的子节点,看谁的nodeType==1;符合要求的,被放入新数组;    * 3)返回数组;    * */    var oUl=document.getElementsByTagName('ul')[0];    var aLi=getChildren(oUl);    console.log(aLi.length)    function getChildren(curEle){        var ary=[];        var aChilds=curEle.childNodes; //拿到当前元素下所有的子节点        //判断所有的子节点,看谁的nodeType==1;符合要求的,被放入新数组;        for(var i=0; i

 

4.元素的动态操作: 1)元素的动态创建     动态创建:document.createElement(标签名);     克隆:obj.cloneNode(布尔值) true:深度克隆 false:只克隆表面 2)元素的动态插入     父级.appendChild(要插入的元素); //把新元素插入到父容器的末尾;     父级.insertBefore(newEle,refEle); 3)元素的删除和替换     父级.removeChild(要删除的元素)  //在父容器下删除某个元素     父级.replaceChild(newEle,oldEle);//在父容器下用新元素替换旧元素; 5.attribute系列:     获取属性 obj.getAttribute('属性名')     设置属性 obj.setAttribute('属性名','属性值')     删除元素的属性,用obj.removeAttribute('属性名');
    
  • 112343

5、. 和 [] 、 attribute  区别

  1)在获取自定义属性的时候,点. 无法获取元素身上自定义属性,getAttribute可以获取元素身上的自定义属性。

  2)在设置自定义属性的时候,点.设置的自定义属性可以用点获取,但在页面结构中看不到。setAttribute给元素设置的自定义属性可以在页面结构中看到

  3)点. [] setAttribute 不能混合操作。

转载于:https://www.cnblogs.com/dalyn/p/7325986.html

你可能感兴趣的文章
QtTCP_ZC
查看>>
iphone应用程序生命周期浅析
查看>>
Git 中 SSH key 生成步骤
查看>>
ActiveMQ消息游标 --转载
查看>>
Expectation Maximization and GMM
查看>>
Java语言基础-多线程
查看>>
ArcGIS中的坐标系定义与转换 (转载)
查看>>
Nginx 负载平衡 支持域名转发的方法
查看>>
[转]Extjs combo数据绑定与获取
查看>>
spring Controller 层注解获取 properties 里面的值
查看>>
Element-ui多选下拉实现全部与其他互斥
查看>>
获取页面中触发焦点的元素
查看>>
数据结构开发(16):选择排序和插入排序
查看>>
数据结构开发(22):二叉树的转换、深层特性与存储结构设计
查看>>
Sphinx编译docs文档
查看>>
react native 8081 端口号被占
查看>>
马尔代夫蜜月之旅
查看>>
EL表达式的简单实用
查看>>
python-异常处理
查看>>
python-docx 设置标题heading的中文字体类型+设置正文的中文字体类型
查看>>