DOM简介及节点、属性、查找节点的方法
DOM(Document Object Modle) 操作文档的编程接口
DOM定义了表示和修改文档的方法,不能修改css样式表,在js中使用DOM方法改变元素的css样式,实质上是在元素上添加行间样式。
DOM对象就是宿主对象,用来操作HTML和xml功能对象的集合。 xml——>xhtml——>html4.0——>html5
HTML和xml的区别:除了xml可以自定义标签外基本上没区别,xml被json替代了。
document,单独写的时候,它代表整个文档,隐式的写在html标签的上一层,html只是文档中的根标签。
注意点:BOM、DOM成组的东西都是类数组,而不是数组。
获取元素的方法:
getElementById();
在IE8以下的浏览器不区分id值得大小写,并且匹配元素的name的属性值。由于后台会修改id值,所以尽量不用或少用id。
getElementsByTagName();标签名,所有浏览器都支持
getElementsByClassName(); IE8及其以下得浏览器不支持
getElementsByName(); 在旧版本中,只有能提交请求的标签的name才生效(form、表单元素、img、iframe)
document.querySelector(); css选择器,IE7及以下不兼容,并且不具有实时性。
document.querySelectAll();
节点类型:
元素节点 1
属性节点 2
文本(text)节点 3 // 文本、空格、回车等都是文本节点
注释(comment)节点 8
document节点 9
documentfragment 11
遍历节点数:
parentNode 子节点的父节点,最终的parentNode节点是document节点。
childNodes 父节点的所有子节点,元素节点、注释节点、文本节点
firstChild 第一个子节点
lastChild 最后一个子节点
nextSibling 下一个兄弟节点
previousSibling 前一个兄弟节点
遍历元素节点数:(除了children节点,其他的都是IE9及以下不兼容)
parentElement 元素的父元素节点,最终的父元素节点是html元素,document是自成节点。
children 父元素下的元素子节点。
node.childElementCount === node.children.length 当前子节点的元素子节点个数。用children.length。
firstElementChild 第一个元素子节点
lastElementChild 最后一个元素子节点
nextElementSibling、previousElemnetSibling
节点的四个属性:
nodeName 除了元素节点,返回的结果前面都有一个‘#’,而元素节点返回大写形式的标签名,类型都为只读。
nodeValue 只用于文本节点和注释节点,可读写。
nodeType 返回数字,该数字代表对应的节点类型。只读
attributes 元素节点的属性集合。
node.hasChildNodes()方法,判断父节点里面是否有子节点,返回结果为布尔值。
DOM简介及节点、属性、查找节点的方法的更多相关文章
- python 3 属性查找与绑定方法
1.属性查找 类有两种属性:数据属性和函数属性 (1)类的数据属性是所有对象共享的 #类的数据属性是所有对象共享的,id都一样 class OldboyStudent: school='oldboy' ...
- python面向编程:类继承、继承案例、单继承下属性查找、super方法
一.类的继承 二.基于继承解决类与类的代码冗余问题 三.在单继承背景下属性的查找 四.super的方法 一.类的继承 1.什么是继承? 在程序中继承是一种新建子类的方法的方式,新创建的类成为子类\派生 ...
- js 创建节点 以及 节点属性 删除节点
case 'copy': var B1 = document.getElementById("B1"); //获得B1下的html文本 var copy_dom = documen ...
- JS获取节点属性个数及值得方法
var ex = node; ; for (var j in ex) { alert("" + myIndex + ".(<font color='blue'> ...
- (一)DOM 常用操作 —— “查找”节点
在 DOM 树中,如果想要操作一个节点,那么首先要"查找"到这个节点.查找节点的方法由 Document 接口定义,而该接口由 JavaScript 中的 document 对象实 ...
- 使用DOM解析XML文件,、读取xml文件、保存xml、增加节点、修改节点属性、删除节点
使用的xml文件 <?xml version="1.0" encoding="GB2312" ?> <PhoneInfo> <Br ...
- Selenium 查找节点
Selenium 可以驱动浏览器完成各种操作,比如填充表单.模拟点击等.比如,我们想要完成向某个输入框输入文字的操作,总需要知道这个输入框在哪里吧?而 Selenium 提供了一系列查找节点的方法,我 ...
- python描述符和属性查找
python描述符 定义 一般说来,描述符是一种访问对象属性时候的绑定行为,如果这个对象属性定义了__get__(),__set__(), and __delete__()一种或者几种,那么就称之为描 ...
- DOM操作 ——如何添加、移除、移动、复制、创建和查找节点等。
DOM操作 --如何添加.移除.移动.复制.创建和查找节点等. (1)创建新节点 createDocumentFragment() //创建一个DOM片段 createElement() //创建一个 ...
随机推荐
- 理解Paxos Made Practical
Paxos Made Practical 当一个组中一台机器提出一个值时,其它成员机器通过PAXOS算法在这个值上达成一致. Paxos分三个阶段. 第一阶段: 提出者会选出一个提议编号n(n> ...
- Servlet学习总结,为理解SpringMVC底层做准备
Servlet 一句话概括 :处理web浏览器,其他HTTP客户端与服务器上数据库或其他应用交互的中间层 Servlet 生命周期 : 1.类加载, 2.实例化并调用init()方法初始化该 Serv ...
- URAL1099 Work Scheduling —— 一般图匹配带花树
题目链接:https://vjudge.net/problem/URAL-1099 1099. Work Scheduling Time limit: 0.5 secondMemory limit: ...
- ubuntu mysql5.7源码安装
本系列的lnmp的大框架基本上是按照http://www.linuxzen.com/lnmphuan-jing-da-jian-wan-quan-shou-ce-si-lnmpda-jian-yuan ...
- 调整多个控件的dock的顺序
https://stackoverflow.com/questions/2607508/how-to-control-docking-order-in-winforms Go to View -> ...
- 添加数据成功之后,通过true、false决定是否跳转
/** * 新增版本 * * @return */ public String AddVersionInfo() { // 快捷菜单 Integer code = Integer.parseInt(g ...
- Managing SQLite Database
Approach #1: Use a Singleton to Instantiate the SQLiteOpenHelper Declare your database helper as a s ...
- UICollectionView与UITableView混用手势冲突
前言 最近在重构某个模块,以后别人封装的所谓的基类就像一坨死一样,看见就恶心,相信同行的你们能够明白那种心情.为什么要重构?并不是真的因为它像一坨死,而是因为这个模块是用户使用最频繁的,而且出现了不少 ...
- BZOJ_3172_[Tjoi2013]单词_后缀自动机
BZOJ_3172_[Tjoi2013]单词_后缀自动机 Description 某人读论文,一篇论文是由许多单词组成.但他发现一个单词会在论文中出现很多次,现在想知道每个单词分别在论文中出现多少次. ...
- 【HNOI 2008】 越狱
[题目链接] 点击打开链接 [算法] 显然,越狱情况数 = 总情况数 - 不能越狱的情况数 很容易发现,总情况数 = M^N 不能越狱的情况数怎么求呢? 我们发现,不能越狱的情况,其实就是第一个人任选 ...