Dom模型
1.dom之对象分类
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>对象分类</title> </head>
<body>
<div id="div1">
<div ></div>
<p></p>
</div>
<script type="text/javascript"> /*在DOM(文档对象模型中,也是一切都是对象,但是范围很小,就只有几个
1.document object
2.element object
3.text object
4.attribute object
5.comment object
5个对象封装到一个Node object中。node object有
自己的节点属性:
attribute;nodeType;nodeName;nodeValue;innerHTML;
导航属性:
parentNode
firstChild
lastChild
childNodes
由于上面的5个属性都是封装到一个Node Object中,所以我们可以直接使用这些属性。/
*/
var ele=document.getElementById("div1");
//自身属性
console.log(ele.nodeName);
console.log(ele.nodeType);
console.log(ele.nodeValue);
//导航属性之firstChild
var ele2=ele.firstChild;
alert(ele2.nodeName);//#text 结果令人惊讶,原来2个div之间有一些空格,这些就是造成是文本的原因 var ele3=ele.childNodes;
alert(ele3.length);//5,js把空白区域当成了文本
var parent=ele.parentNode;
alert(parent);
</script>
</body>
</html>
2.dom对象模型的根据文档树结构进行导航。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>对象分类</title> </head>
<body>
<div id="div1">
<div ></div>
<p></p>
</div>
<script type="text/javascript"> /*在DOM(文档对象模型中,也是一切都是对象,但是范围很小,就只有几个
1.document object
2.element object
3.text object
4.attribute object
5.comment object
5个对象封装到一个Node object中。node object有
自己的节点属性:
attribute;nodeType;nodeName;nodeValue;innerHTML;
导航属性:
parentNode
firstChild
lastChild
childNodes
由于上面的5个属性都是封装到一个Node Object中,所以我们可以直接使用这些属性。/
*/
var ele=document.getElementById("div1");
/* //自身属性
console.log(ele.nodeName);
console.log(ele.nodeType);
console.log(ele.nodeValue);
//导航属性之firstChild
var ele2=ele.firstChild;
alert(ele2.nodeName);//#text 结果令人惊讶,原来2个div之间有一些空格,这些就是造成是文本的原因 var ele3=ele.childNodes;
alert(ele3.length);//5,js把空白区域当成了文本
var parent=ele.parentNode;
alert(parent);*/
//既然firstChild不行,但是firstElementChild可以
var ele_son=ele.firstElementChild;
alert(ele_son.nodeName);
//lastElementChild
var last=ele.lastElementChild;
alert(last.nodeName);
//所有节点children
var ele_nodes=ele.children;
alert(ele_nodes.length);
alert(ele_nodes[0].nodeName); for(var i=0;i<ele_nodes.length;i++){
console.log(ele_nodes[i].nodeName);
}
//nextElementSibling,兄弟元素节点,记住没有空白文档 var sib=ele.firstElementChild;
console.log(sib.nextElementSibling.nodeName);
</script>
</body>
</html>
3.全局查找和局部查找
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>查找</title>
</head>
<body>
<div id="div1">hello
<div class="div2">hello2</div>
<div class="div3" name="lizebo">hello3
<p>hello inner</p>
<p id="p1">world innerhtml</p>
</div>
<p>hello,browser</p>
</div>
<script type="text/javascript">
//这里注意一下啊,这里为什么是elements,而不是element。这是有意义的,因为
//设计者知道以class命名元素可能有多个,而id只能有一个。
//1.通过id 选择器:document.getElementById();
//2.通过class选择器
var ele=document.getElementsByClassName("div2");
console.log(ele[0].nodeName);
console.log(ele[0].innerHTML);
//3通过tag
var tagnames=document.getElementsByTagName("p");
console.log(tagnames);
console.log(tagnames[0].innerHTML);
//4.通过名字,虽然用的不多,但是可以用这个
var names=document.getElementsByName("lizebo");
console.log(names[0].nodeName); /*局部去找也就是不通过document找,那么只有用element了,都差不多,这个怎么方便怎么用。*/
var els=document.getElementsByClassName("div3")[0];
var jubu=els.getElementsByTagName("p");
console.log(jubu[0].innerHTML); </script>
</body>
</html>
Dom模型的更多相关文章
- DOM模型有三种
<!-- DOM模型有三种: DOM level 1:将HTML文档封装成对象. DOM level 2:在level 1基础加入新功能,比如解析名称空间. //<html xmlns=& ...
- JavaScript DOM编程基础精华01(DOM入门,DOM模型和获取页面元素,事件,window对象的方法)
DOM入门 DOM就是Html页面的模型,将每个标签都做为一个对象,JavaScript通过调用DOM中的属性.方法就可以对网页中的文本框.层等元素进行编程控制.比如通过操作文本框的DOM对象,就可以 ...
- JavaScript---网络编程(7)-Dom模型(节点间的层次关系,节点的增、删、改)
利用节点间的层次关系获取节点: 上一节讲了3中获取的方式: * ※※一.绝对获取,获取元素的3种方式:-Element * 1.getElementById(): 通过标签中的id属性值获来取该标签对 ...
- JavaScript---网络编程(5)-自定义对象Json、Dom模型概念讲解
这节博客主要讲解Dom模型概念~和JSON的简单介绍 首先,还是先上out.js的代码: function println(param){ document.write(param+"< ...
- Fireworks Extension —— 开发篇(Dom模型)
如上一篇博文所叙述的,一个很偶然的机会,我得知可以使用Javascript开发Fireworks插件,又注意到了视觉小伙伴的需求,于是便上手开发Fireworks Extension了. 很幸运的,在 ...
- 整理之DOM事件阶段、冒泡与捕获、事件委托、ie事件和dom模型事件、鼠标事件
整理之DOM事件阶段 本文主要解决的问题: 事件流 DOM事件流的三个阶段 先理解流的概念 在现今的JavaScript中随处可见.比如说React中的单向数据流,Node中的流,又或是今天本文所讲的 ...
- 总结一下自己脑海里的JavaScript吧(一)--DOM模型
今天是2019年6月25日,闲来无事,写一篇文章来看看自己脑袋里装了多少JavaScript知识! 这儿就第一章: 说起JavaScript,它是什么?后端脚本语言?前端编程语言?还是在网站浏览器上运 ...
- 肆、js的DOM模型
一.网页中的dom模型框架 1.dom中的3中节点:元素节点.文本节点.属性节点 a.元素节点:html中的各种标签就是各个元素节点,元素节点可以包含其他元素,只有html根节点例外. b.文本节点: ...
- 浏览器内核之 HTML 解释器和 DOM 模型
微信公众号:爱写bugger的阿拉斯加如有问题或建议,请后台留言,我会尽力解决你的问题. 前言 此文章是我最近在看的[WebKit 技术内幕]一书的一些理解和做的笔记.而[WebKit 技术内幕]是基 ...
- JavaScript的事件、DOM模型、事件流模型以及内置对象详解(三)
JS中的事件 JS中的事件分类 1.鼠标事件: click/dbclick/mouseover/mouseout 2.HTML事件: onload/onunload/onsubmit/onresize ...
随机推荐
- php学习资料
http://medoo.in/轻量级 PHP 连接数据库的类库 http://www.thinkphp.cn/国产 PHP 万金油框架,快速做项目,效率一般,BUG 众多
- Myeclipse10连接SqlServer2012
本文纯手打!!!! 对于我们这些刚学java的小白,可是真费劲啊!!!! 要用java连接数据库 首先是要通过JDBC驱动 要先去下载一个sqljdbc4.jar,我这里放百度云盘了, 下载地址:链 ...
- 在C#中winform程序中应用nlog日志工具
在C#中winform程序中应用nlog日志工具,配置文件简单应用. 文件名 nlog.config,请注意修改属性为"始终复制",发布时候容易遇到不存在文件的错误提示. 通过Nu ...
- asp.net 第三方UI控件 Telerik KendoUI 之 TreeVIew 的用法记录
一.前台显示 备注:一次性取出所有节点 function loadTreeData() { $.ajax({ type: 'POST', url: '@(Html.UrlHref("Scri ...
- 【20171025中】alert(1) to win 脚本渲染自建
游戏误人生,一下午玩了将近四个小时的三国杀,后悔不已,然后重新拾起xss challenge,突发奇想,自己构建渲染后的html. 从最简单的开始. 自动检测html: <!DOCTYPE ht ...
- java swing中Timer类的学习
最近在完成学校课程的java平时作业,要实现一个计时器,包含开始.暂停以及重置三个功能.由于老师规定要用这个timer类,也就去学习了一下,顺便记录一下. 首先呢去查了一下java手册上的东西,发现t ...
- jquery的2.0.3版本源码系列(7):3043行-3183行,deferred延迟对象,对异步的统一管理
目录 part1 deferred延迟对象 part2 when辅助方法 网盘源代码 链接: https://pan.baidu.com/s/1skAj8Jj 密码: izta part1 defe ...
- iOS之ViewController的多层presentViewController的dismiss问题
今天在Q群里有人问了个这么个问题: A,B,C,D 都是Viewcontroller.A.B.C.D使用present去切的 他是这么搞的: A -> B, B ->C, C->D, ...
- ASP.NET没有魔法——ASP.NET Identity的加密与解密
前面文章介绍了如何使用Identity在ASP.NET MVC中实现用户的注册.登录以及身份验证.这些功能都是与用户信息安全相关的功能,数据安全的重要性永远放在第一位.那么对于注册和登录功能来说要把密 ...
- 理解typename的两个含义
理解typename的两个含义 问题:在下面的 template declarations(模板声明)中 class 和 typename 有什么不同? template<class T> ...