js DOM 扩展

1. 选择符API

querySelector()        
 返回匹配的第一个元素,接收一个 CSS 选择符。没有找到返回 null.

querySelectorAll()    
 返回所有匹配的一个 NodeList, 这是一个快照不会动态改变。接收一个 CSS 选择符。

mathesSelecttor()    
 如果调用元素与该选择符匹配,返回true, 否则返回 false. 接收一个 CSS 选择符。

2. 与类相关的扩充

getElementsByClassName()    
 接收一个字符串

classList        
所有元素都有的属性,它是 DOMTokenList 的实例,有 length 属性和以下方法:

add(value) : 将给定的字符串添加到列表中,如果已经存在,就不添加了

contains(value) : 表示列表中是否存在给定的值

remove(value) : 从列表中删除给定的字符串

toggle(value) : 如果存在删除它;如果不存在添加它。

3. 焦点管理

document.activeElement   这个属性始终会引用 DOM
中当前获取焦点的元素。

元素获取焦点的方式有页面加载、用户输入(通常是通过按 Tab
键)和在代码中调用 focus() 方法。

document.hasFocus();      
检测文档是否获取了焦点。

4. 自定义数据类型

<div id=‘myDiv‘ data-appId=‘12345‘
data-myName=‘Nicholad‘></div>

var addpId = div.dataset.appId;  
       // 获取自定义数据

div.dataset.appId = 2345;    
               // 设置自定义数据

5. 插入标记

element.innerHTML    
             // 在写模式下,innerHTML
的值(字符串)替换元素原来的所有子节点, 在读模式下,读取所有子节点

element.outerHTML    
               //
 在读模式下,返回调用它的元素及所有子节点的 HTML 标签,在写模式下,会根据指定的 HTML
字符串创建新的DOM子树,替换调用的元素。

6. 元素大小

6.1 偏移量

6.2 客户区大小

6.3 确定元素大小

element.getBoundingClientRect();  
 返回一个矩形对象。这个对象包含4个属性:left, top, right, botom。这些属性都给出了元素在页面中相对于视口的位置。

6.4 遍历

var div = document.getElementById(‘#div1‘);

var filter = function(node){

retrun node.tagName.toLowerCase() ==
‘li‘ ? NodeFilter.FILTER_ACCEPT : NodeFilter.FILTER_SKIP;

}

var iterater = document.createNodeIterator(div,
NodeFilter.SHOW_ELEMENT, filter, false);          
  // 第三个参数表示过滤节点,不过滤传入 null
           
            var node = iterator.nextNode();

while(node != null){

alert(node.tagName);

node =
iterator.nextNode();

js DOM 扩展,布布扣,bubuko.com

时间: 2024-10-27 09:44:31

js DOM 扩展的相关文章

DOM扩展学习笔记

对DOM的两个主要扩展是Selectors API(选择符API)和HTML5,还有一个不太瞩目的Element Traversal元素遍历规范为DOM添加了一些属性,另外还有一些专有扩展. 选择符API 元素遍历 HTML5 专有扩展 选择符API 让浏览器原生支持css查询,原理就是所有实现这一功能的JavaScript库都会写一个基础的CSS解析器,然后再使用已有的DOM方法查询文档并找到匹配的节点.当把这个功能变成原生API后,解析和树查询操作可以在浏览器内部通过编译后的代码来完成,极大

DOM扩展:DOM API的进一步增强[总结篇-下]

本文承接<DOM扩展:DOM API的进一步增强[总结篇-上]>,继续总结DOM扩展相关的功能和API. 3.6 插入标记 DOM1级中的接口已经提供了向文档中插入内容的接口,但是在给文档插入大量HTML标记的时候操作还是很繁杂的,每次插入一个元素,不仅要调用创建元素和文本节点的接口,还要调用appendChild等向文档中添加元素的接口,而且在添加时还要按照正确的顺序.而如果使用插入标记的方法,直接向文档中插入HTML字符串,由执行环境自动解析HTML字符串并创建相应的节点并添加到文档中,这

javascript高级程序设计 第十一章--DOM扩展

javascript高级程序设计 第十一章--DOM扩展DOM最主要的扩展就是选择符API.HTML5和Element Traversal Selectors API:定义了两个方法 querySelector() 和 querySelectorAll(),能够基于CSS选择符从DOM中取得元素.querySelector()方法接收一个CSS选择符,返回该模式匹配的第一个元素,querySelectorAll()接收的参数一样,但是返回NodeList实例: matchesSelector()

JS DOM编程艺术的学习—— JS学习笔记2015-7-5(第76天)

由于看高程3卡住了,所以现在在学习JS DOM编程艺术来巩固基础: 一.在看JS DOM 编程艺术的时候,有个作者提到的方法很实用, 就是在JS中变量和函数的命名方法:  变量的命名方法为使用下划线,比如: var temp_color = ['red','blue']; 函数就使用驼峰法,比如: function current_date(){}; 这样的习惯可以帮助理解,提高可读性,在理解变量和函数名的时候就很方便了: 二.还有个收获就是关于“对象”的理解又加深了 之前对于什么对象的属性,对

JS DOM编程艺术——JS图片库—— JS学习笔记2015-7-8(第79天)

DOM是一种适用于多种环境和多种程序设计语言的通用型API. 如果想要把本书(JS DOM编程艺术)学到的DOM技巧运用在web浏览器以外的应用环境里,严格遵守“第1级DOM”能够让你避免与兼容性有关的任何问题: tips:setAttribute是第1级DOM; 图片切换初级js: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/

JS DOM(文档对象模型)与BOM(浏览器对象模型)

在JS中,对DOM(Document Object Model)对象和BOM(Browser Object Model )对象的操作是非常重要的内容.DOM主要包括HTML文档的属性和方法,像对HTML节点的操作,CSS的操作和HTML事件的监听和处理.BOM不要包括浏览器相关的一些属性和方法. DOM知识点1.改变页面的元素和属性a.获取元素的方法:document.getElementById()document.getElementsByTagName()document.getEleme

JavaScript学习 八、DOM扩展

对DOM的两个主要扩展是Selectors API(选择符API)和HTML5.这两个扩展都是源自开发社区.此外还有一个不那么因为瞩目的ELement Traversal(元素遍历)规范.为DOM添加了一些属性. 选择符API 众多JavaScript 库中最常用的一项功能,就是根据CSS选择符选择与某个模式匹配的DOM元素. 实际上 jQuery 的核心就是通过CSS选择符查询DOM 文档取得元素的引用,从而抛开了 getElementById() 和 getElementsByTagName

JS DOM 编程艺术 随笔

DOM 最大的作用就是将整个文档通过节点树来展现.通过类似方法可以获取特定节点,并绑定js方法实现与人的交互. 1.通过dom方法,获取页面的元素(getElementsByTagName/id,通过class(getAttribute))2.获取元素之后,为他们绑定行为(点击/其他)的处理事件3.最后把所有函数绑定到window.onload()函数上面去 onload = function(){function1function2...} plus 小技巧: <a onclick=>函数

JavaScript的DOM扩展

虽然 DOM 为与 XML 及 HTML 文档交互制定了一系列核心 API,但仍然有几个规范对标准的 DOM进行了扩展.这些扩展中有很多原来是浏览器专有的,但后来成为了事实标准,于是其他浏览器也都提供了相同的实现.本章介绍的三个这方面的规范如下. 1 Selectors API,定义了两个方法,让开发人员能够基于 CSS 选择符从 DOM中取得元素,这两个方法是 querySelector() 和 querySelectorAll() . 2 Element Traversal,为 DOM 元素