WebAPI编程(1)——DOM

    科技2022-07-13  124

    DOM

    1、DOM简介

    DOM是一个处理可扩展标记语言的编程接口,通过DOM可以改变网页的内容、样式和结构。

    2、获取元素

    根据ID获取:document.getElementById(); 1.先有标签,后写script 2.get 获得 element 元素 by 通过驼峰命名法 3.参数id是大小写敏感的字符串 4.返回的是一个元素对象根据标签名获取:document.getElementsByTagName(‘标签名’); 1.返回带有指定标签名的对象的集合 2.得到元素对象是动态的通过HTML5新增的方法获取: 1.document.getElementsByClassName(‘类名’);根据类名返回元素对象集合 2.document.querySelector(‘选择器’);根据指定选择器返回第一个元素对象 3.document.querySelectorAll(‘选择器’);根据指定选择器返回特殊元素获取: 1.获取body 元素:document.body 2.获取html 元素:document.documentElement

    3、事件基础

    时间是可以被JavaScript 侦测到的行为,是一种响应机制。 事件由三部分组成:事件源、事件类型、事件处理程序。 例如:< button id=“btn”> Document< /button> < script> var btn=document.getElementById(‘btn’); btn.οnclick=function() { 处理程序} < /script>

    4、操作元素

    4.1 改变元素内容
    element.innerText 从起始位置到终止位置的内容,不识别HTML标签,同时去掉空格和换行element.innerHTML 起始位置到终止位置的全部内容,包含HTML标签,同时保留空格和换行
    4.2 样式属性操作
    element.style 行内样式操作 例如:this.style.color=’’;element.className 类各样式操作 例如:this.className=‘类名’;

    5、自定义属性的操作

    获取属性值

    element.属性——获取内置属性值(元素本身自带的属性)

    element.getAttribute(‘属性’)——主要获得自定义的属性

    设置属性值

    element.属性=‘属性值’——设置内置属性值

    element.setAttribute(‘属性’,‘值’)——主要针对自定义属性

    移除属性 element.removeAttribute(‘属性’);

    6、节点操作

    父级节点 node.parentNode得到的是离元素最近的父节点,如果找不打父节点,就返回为null。 子节点 childrenparentNode.children——返回所有的子元素节点parentNode.firstChild——返回第一个子节点parentNode.lastChildparentNode.firstElementChild——返回第一个子元素节点parentNode.lastElementChild 兄弟节点 node.nextSibling——返回下一个兄弟节点,包含文本节点或者元素节点node.nextElementSibling——返回下一个兄弟元素节点node.previousElementSibling——返回上一个兄弟元素节点

    创建节点 document.createElement(‘元素标签’)

    添加节点 node.appendChild(child)——node 父级,child 子级。添加到指定父节点的子节点列表末尾。 node.insertBefore(child,指定元素)

    删除节点 node.removeChild(child) 从DOM中删除一个子节点,返回删除的节点

    复制节点 node.cloneNode()——返回调用此方法的一个副本 – 如果括号为空或false,则只复制标签不复制里面的内容,为浅拷贝; – 如果括号为true,则复制标签和里面的内容,为深拷贝;

    7、三种动态创建元素的区别

    document.write() 例如:document.write(’< div>123< /div>’) 文档流执行完毕后,再调用会导致页面全部重绘element.innerHTML 不会导致页面重绘; 创建多个元素效率更高(不采用拼接字符串,采取数组形式拼接),结构稍微复杂document.createElement() 创建多个元素效率稍微低一点,但是结构更清晰
    Processed: 0.010, SQL: 8