第三章 3.1 DOM

1.1  JS的组成

  1.JS语法 --> ECMAScript

  2.BOM --> Browser Object Model(浏览器对象模型)

  3.DOM --> Document Object Model(文档对象模型) 可以操作html+css

  DOM也可以理解为是对HTML以及XML的标准编程接口

  DOM的结构呈树状,也把DOM叫做DOM树,DOM树是由很多DOM节点组成的

参考资料:

https://www.runoob.com/htmldom/htmldom-nodes.html

节点:在HTML中叫以下的是元素和标签,在js中叫节点

4.节点的分类    nodeType

  文本节点         3 (空格部分和文字)

  注释节点         8 (<!--happy-->)

  元素节点         1  (也就是标签)

  属性节点         2  (就是那些类名ID名)

  文档节点(document)  9

5.DOM节点的属性  (对象属性)

  nodeType 区分节点的类型

  nodeName 获取节点的名称

  nodeValue 获取注释节点和文本节点的内容

  attributes 获取元素节点的属性节点集合(类名ID名)

例:

<div id="box">
    <h3>2</h3>
    <b>哈哈</b>
</div>
<script>
    var oBox =document.getElementById(‘box‘)
    console.log(oBox.nodeName,oBox.attributes[0])     // “DIV”  “id=box”
</script>

6.DOM操作   ===>基于节点树的操作 (一般不用)

  childNodes 查询所有的子节点们

  firstChild 查询第一个子节点

  lastChild 查询最后一个子节点

  parentNode 查询父节点

  nextSibling 查询下面的相邻的兄弟节点

  previousSibling 查询上面的相邻的兄弟节点

7.DOM操作   ===>基于元素节点树的操作

  children 查询所有的元素子节点们

  firstElementChild 查询第一个元素子节点

  lastElementChild 查询最后一个元素子节点

  parentElement 查询父元素节点

  nextElementSibling 查询下面的相邻的兄弟元素节点

  previousElementSibling 查询上面的相邻的兄弟元素节点

例:

<div id="box">
    <h3 class="box1">1</h3>
    <h4 tittle="aa">sds</h4>
    <span>啦啦啦</span>
    <h2>我是h2</h2>
</div>
<script>
    var oBox =document.getElementById(‘box‘)
    var cc=oBox.childNodes //查询oBox下的所有的子节点
    var dd=oBox.children //仅查询oBox下所有元素子节点们
    var bb=oBox.firstElementChild //仅查询oBox下第一个元素子节点
    var aa=oBox.firstChild //查询oBox下第一个子节点
    console.log(cc,dd,bb,aa);
</script>

8.判断一个元素节点有没有子节点

  element.hasChildNodes() 如果有则返回true。没有则返回false

9.DOM操作(对象方法) ===>查询

  document     获取document文档

  document.head   获取head标签

  document.body   获取body标签

  document.documentElement   获取html标签

  document.getElementById()   通过id获取元素

获取的是以数组形式保存↓   获取数组某个值 arr[1,2][0]

  document.getElementsByClassName()    通过class获取元素

  document.getElementsByTagName()     通过标签名获取元素

  document.getElementsByName()     通过name属性获取元素

  document.querySelectorAll()       选到指定选择器的所有元素

  document.querySelector()         选到指定选择器下的第一个元素

例:① var oBox =document.getElementsByClassName(‘box‘) 得到的是个数组

  我们要得到是数组里面的值

  所以var oBox =document.getElementsByClassName(‘box‘)[0]

<div class="box">
    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
    </ul>
</div>
var aLi = document.querySelectorAll(‘.box ul li‘);
var ali1=document.querySelector(‘.box ul li‘)    //得到的是第一li    

获取的是一个数组 --->NodeList(3)[ li, li, li ]获取到所有的li,同理[0]获得第一个li

10.DOM操作(对象方法)   ===>节点创建

  document.createElement() 创建元素节点

  document.createTextNode() 创建文本节点

  document.createComment() 创建注释节点

  document.createDocumentFragment 创建文档片段节点

11.DOM操作(对象方法)   ===>节点添加(剪切操作)

  parentNode.appendChild(A) 把节点插入到父节点的最后面

  parentNode.insertBefore(A,B) 把节点A添加在节点B前面

  父节点.方法

例:

<div class="box">
    <i>费收到回复碍事儿我安</i>
    <p>sdasdasdasd</p>
</div>
var oBox = document.getElementsByClassName(‘box‘)[0] //获得标签
var oa=document.getElementsByTagName(‘p‘)[0] //获得p标签
var oDox = document.createElement(‘div‘) //创建一个div
oBox.insertBefore(oDox,oa)

12.DOM操作(对象方法)   ===>节点删除

  parentNode.removeChild(A) 删除节点A

  只有父级才可以删子级

13.DOM操作(对象方法)   ===>节点替换(剪切操作)

  parentNode.replaceChild(A,B) 用节点A代替节点B

14.元素节点的常用属性

  innerHTML 获取元素节点的内容,可读可写

  如果内容中有符合html格式的,会被解析成标签

  innerText 获取元素节点的内容,可读可写

  如果内容中有符合html格式的,不会被解析成标签

  attributes 获取元素节点的属性节点

可读:

<i>费收到回复碍事儿我安</i>

var oDox = document.getElementsByTagName(‘i‘)[0]

var sa = oDox.innerText,然后控制台打印

15.元素节点的常用方法

  element.setAttribute(“class”,“on”) 设置元素节点的class属性

  class是类型  on 是值

  element.getAttribute(“class”) 获取元素节点的class属性

  element.removeAttribute(“class”) 删除元素节点的class属性

<div class="box">
    <h3>达到</h3>
</div>
var ab=oBox.children[0].setAttribute(‘class‘,‘on‘)     //控制台打印
var ab=oBox.children[0].getAttribute(‘class‘)    //获取节点class
var abbb=oBox.children[0].removeAttribute(‘class‘) //删除class 节点

17.动态获取与静态获取

  get系列是动态获取,指获取节点之后还可以检测出符合条件的节点,并且放置到集合中

  query系列是静态获取,指在获取节点之后无法检测出符合条件点的节点

原文地址:https://www.cnblogs.com/aorange/p/11110687.html

时间: 2024-10-17 00:49:30

第三章 3.1 DOM的相关文章

JavaScript DOM编程艺术-学习笔记(第三章、第四章)

第三章: 1.js的对象分为三种:①用户自定义对象 ② 内建对象(js提供的对象) ③宿主对象(js寄宿的环境-浏览器,提供的对象) 2.文档是由节点组成的集合,即dom树,html元素是根元素,是唯一一个没有被其它元素包含的元素. 3.元素节点并非直接包含文本节点,例如:<ul><li>你好</li><ul>    ul元素并没有直接包含文本元素 4.获取元素的方法: ①getElementById() ②getElementsByTagName ()  

KnockoutJS 3.X API 第三章 计算监控属性(5) 参考手册

计算监控属性构造参考 计算监控属性可使用以下形式进行构造: ko.computed( evaluator [, targetObject, options] ) - 这种形式是创建一个计算监控属性最常见的情况. evaluator - 用于返回计算值的函数. targetObject-如果给出定义的值this时KO调用回调函数.参见部分第三章 计算监控属性(1) 使用计算监控属性以获取更多信息. options - 计算监控属性的其他属性的对象.请参见下面的完整列表. ko.computed(

锋利的jQuery第三章

现在开始学习第三章,jQuery中的Dom操作. 以前我也看过w3school的dom,看过了很迷,不知道dom是什么. 1,dom是文档对象模型,dom操作分为3类:Dom Core(核心),HTML-DOM,CSS-DOM (1)Dom Core(核心):主要有getElementById(),getElementByTagName(),getAttribute()和setAttribute()等方法. (2)HTML-DOM:如 document.forms //取得forms对象; el

JavaScript学习笔记(第一章——第三章)

说明 参考资料:<JavaScript高级程序设计(第3版)> 笔记主要为<JavaScript高级程序设计(第3版)>读书记录,按照此书的章节学习记录.方便以后查询复习(PS:正版书99大洋,没舍得买.在淘宝46买了一本盗版的并带一本 <JavaScript DOM编程艺术(第2版)>).两本书同时阅读,但以<JavaScript高级程序设计(第3版)>为主要学习路线.重要说明性内容将以近似书中原文摘出(以免出现个人解释歧义),外加自己遇到特殊情况说明(不

Android艺术开发探索第三章——View的事件体系(上)

Android艺术开发探索第三章----View的事件体系(上) 我们继续来看这本书,因为有点长,所以又分了上下,你在本片中将学习到 View基础知识 什么是View View的位置参数 MotionEvent和TouchSlop VelocityTracker,GestureDetector和Scroller View的滑动 使用scrollTo/scrollBy 使用动画 改变布局参数 各种滑动方式的对比 弹性滑动 使用Scroller 通过动画' 使用延时策略 这章的概念偏自定义View方

(转)JAVA AJAX教程第三章—AJAX详细讲解

现在开始深入AJAX,这里还是按老思路,理论和实践相结合.这章的内容主要是讲解AJAX步骤详解,下一张将会用一个AJAX技术实现页面提示效果的实例来说明AJAX的实现. 一.AJAX步骤详解 AJAX实质上是遵循Request/Server模式来进行工作的,这个框架基本的流程包括下面几个具体的步骤: (1)       XMLHttpRequest对象初始化 (2)       发送请求 (3)       服务器接收请求并进行处理 (4)       服务器返回响应数据 (5)       客

第三章:绑定语法(1)

第三章所有代码都需要启用KO的 ko.applyBindings(viewModel); 功能,才能使代码生效,为了节约篇幅,所有例子均省略了此行代码. 1 visible 绑定 目的 visible绑定到DOM元素上,使得该元素的hidden或visible状态取决于绑定的值. 例子 <div data-bind="visible: shouldShowMessage"> You will see this message only when "shouldSh

《javascript高级程序设计》第二、三章知识点整理

第二章知识点总结 1.<script>在html中的使用 主要功能:在页面中嵌入javascript代码或包含外部javascript文件. 常用属性: type:用于定义脚步代码的语言类型,默认为text/javascript. src:包含外部域的javascript文件. defer:表示脚本会在整个页面加载完毕之后运行,只对外部文件有效,最好只包含一个延迟脚本. async:脚本在不妨碍其他操作的情况下立即下载(不保证下载文件的顺序). 插入位置:在页面<body>标签页面

Jquery的一、二、三章的笔记

第一章:Jquery的基础 JQuery - 是一个JavaScript的框架(函数库) 一.Jquery的使用 1.下载Jquery框架:http://jquery.com 2.在页面引用jquery-x.x.x.js文件 <script type="text/javascript" src="js/jquery-1.7.2.js"></script> 3.使用 二.第一个Jquery程序$() $(document).ready(func