JavaScript的基础知识总结-js的三个重要对象(2)

简介: JavaScript的基础知识总结-js的三个重要对象

三、DOM解析:

    1、Document Object Model(DOM):是表示和操作HTML和XML文档内容的基础API;其中几个重要的类有:Document和Element,Text,这三个也是Node的其中几个子类; 

           2、文档元素的选取:返回值是Element或Element组成的数组NodeList;

                       通过ID :      document.getElementById('id'); 

          通过name:       document.getElementsByName('name');

        通过tagName:      document.getElementsByTagName('span');  

        通过CSS类:    document.getElementsByClassName('c1 c2 c3');

                 //参数中class有多个时,只关心名称,顺序无关紧要;

                      通过CSS选择器:  document.querySelectorAll()和document.querySelector() 参数是包含一个CSS选择器的字符串参数,返回一个NodeList对象或Element;功能与JQuery类库中的$()相似,两者参数相同,不同的是:$()返回值为一个JQuery对象表示匹配的元素集,JQuery对象是一个类数组,可以用标准的数组标示方括号来访问JQuery对象的内容;也可以用toArray()方法来将JQuery对象转化为真实的数组; 参数举例:1、ID: #nav 2、 标签名:div 3、class属性值:.success 4、基于属性值:input[name='button']; 5、组合使用:span.fatal.error //其class中包含fatal和error的所元素;

     3、 文档结构:作为节点树的解析(还有一种是作为元素树解析,将文档看做Element对象树,忽略Text和Comment节点)

          节点Node对象主要以下几个重要属性:

           1、parentNode: 父节点,没有为null;

           2、childNodes  : 节点的子节点的实时表示,值为NodeList对象;

           3、firstChild,lastChild:节点的子节点的第一个和最后一个节点,没有为null;

             4、nextSibling和previousSibling: 节点的兄弟节点的前一个和后一个;

           5、nodeType: 该节点类型; 9代表Document节点 1代表Element节点 3代表Text节点,8代表comment节点;

             6、nodeValue:Text节点的文本内容;

           7、nodeName: 元素的标签名,大写;

             8、attributes : 元素的所有属性,只读的类数组对象;

    4、元素内容:依据Element不同属性获取不同内容;

         innerHTML : 元素的内容作为字符串返回;

         outerHTML :返回的字符包含查询元素的开头和结尾标签;(HTML5才有且FireFox浏览器不支持)

         textContent: 返回纯文本;IE不支持

           innerText:也是返回纯文本,但不返回

     5、 节点的增删:操作文档进行文档节点的增加和删除

          1、创建节点:document.createElement() 参数为不区分大小写的标签名(对于HTML),对XML文档会区分大小写;第二种方法是复制已存在的节点,每个节点都有一个cloneNode()方法放回节点的副本;

          2、插入节点:使用Node的方法appendChild()和insertBefore();

               appendChild():插入子节点使其成为节点的最后一个子节点;  

               insertBefore():两个参数,第一个参数是待插入的节点,第二个参数是该父节点的子节点,可以为null,为null是功能与appendChild相同;

                如果使用以上两个方法再次插入已经存在的节点,已存在节点将会自动从它的当前位置删除并在新的位置从新插入,可以用来做单页表格的排序等,不改变表格数据,只改变节点的顺序;

         3、删除和替换节点:删除节点:removeChild() 替换节点:replaceChild();

         4、节点容器DocumentFragment:var frag = document.createDocumentFragment(); 可以包含任意多子节点而且它使得一组节点被当做一个节点看待;

    6、HTML可编辑内容:有两种方法启用编辑功能,

        其一:设置任何标签的HTML contenteditable属性;

edit.....

          其二:设置对应元素的JavaScript contenteditable属性;

        浏览器定义了多项文本编辑命令,为了执行这些命令,应该使用Document对象的execCommand()方法;  

相关文章
|
3天前
|
存储 JavaScript 索引
js开发:请解释什么是ES6的Map和Set,以及它们与普通对象和数组的区别。
ES6引入了Map和Set数据结构。Map的键可以是任意类型且有序,与对象的字符串或符号键不同;Set存储唯一值,无重复。两者皆可迭代,支持for...of循环。Map有get、set、has、delete等方法,Set有add、delete、has方法。示例展示了Map和Set的基本操作。
16 3
|
4天前
|
JavaScript 前端开发
js开发:请解释this关键字在JavaScript中的用法。
【4月更文挑战第23天】JavaScript的this关键字根据执行环境指向不同对象:全局中指向全局对象(如window),普通函数中默认指向全局对象,作为方法调用时指向调用对象;构造函数中指向新实例,箭头函数继承所在上下文的this。可通过call、apply、bind方法显式改变this指向。
7 1
|
4天前
|
JavaScript 前端开发 开发者
JavaScript中的错误处理:try-catch语句与错误对象
【4月更文挑战第22天】JavaScript中的错误处理通过try-catch语句和错误对象实现。try块包含可能抛出异常的代码,catch块捕获并处理错误,finally块则无论是否出错都会执行。错误对象提供关于错误的详细信息,如类型、消息和堆栈。常见的错误类型包括RangeError、ReferenceError等。最佳实践包括及时捕获错误、提供有用信息、不忽略错误、利用堆栈信息和避免在finally块中抛错。
|
10天前
|
JavaScript
【Js】检查Date对象是否为Invalid Date
【Js】检查Date对象是否为Invalid Date
14 0
|
11天前
|
存储 JavaScript 前端开发
JavaScript的引用数据类型主要包括对象
【4月更文挑战第16天】JavaScript的引用数据类型主要包括对象
16 4
|
15天前
|
JavaScript
js 字符串String转对象Object
该代码示例展示了如何将一个以逗号分隔的字符串(`'1.2,2,3,4,5'`)转换为对象数组。通过使用`split(',')`分割字符串并`map(parseFloat)`处理每个元素,将字符串转换成浮点数数组,最终得到一个对象数组,其类型为`object`。
|
JavaScript 前端开发
Javascript之旅——第七站:说说js的调试
原文:Javascript之旅——第七站:说说js的调试      最近比较吐槽,大家都知道,现在web前端相对几年前来说已经变得很重了,各种js框架,各种面对对象,而且项目多了,就会提取公共模块, 这些模块的UI展示都一样,不一样的就是后台逻辑,举个例子吧,我们做企业差旅的时候,通常都有一个成本中心的js公共模块,客户在预定机票 的时候来填写这个成本中心,而这种成本中心分布在online,offline和app等预定端,这样也是方便后期和客户公司进行月结算。
809 0
|
2月前
|
JavaScript
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
Node.js【GET/POST请求、http模块、路由、创建客户端、作为中间层、文件系统模块】(二)-全面详解(学习总结---从入门到深化)
27 0
|
2月前
|
消息中间件 Web App开发 JavaScript
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
Node.js【简介、安装、运行 Node.js 脚本、事件循环、ES6 作业队列、Buffer(缓冲区)、Stream(流)】(一)-全面详解(学习总结---从入门到深化)
77 0