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模型的更多相关文章

  1. DOM模型有三种

    <!-- DOM模型有三种: DOM level 1:将HTML文档封装成对象. DOM level 2:在level 1基础加入新功能,比如解析名称空间. //<html xmlns=& ...

  2. JavaScript DOM编程基础精华01(DOM入门,DOM模型和获取页面元素,事件,window对象的方法)

    DOM入门 DOM就是Html页面的模型,将每个标签都做为一个对象,JavaScript通过调用DOM中的属性.方法就可以对网页中的文本框.层等元素进行编程控制.比如通过操作文本框的DOM对象,就可以 ...

  3. JavaScript---网络编程(7)-Dom模型(节点间的层次关系,节点的增、删、改)

    利用节点间的层次关系获取节点: 上一节讲了3中获取的方式: * ※※一.绝对获取,获取元素的3种方式:-Element * 1.getElementById(): 通过标签中的id属性值获来取该标签对 ...

  4. JavaScript---网络编程(5)-自定义对象Json、Dom模型概念讲解

    这节博客主要讲解Dom模型概念~和JSON的简单介绍 首先,还是先上out.js的代码: function println(param){ document.write(param+"< ...

  5. Fireworks Extension —— 开发篇(Dom模型)

    如上一篇博文所叙述的,一个很偶然的机会,我得知可以使用Javascript开发Fireworks插件,又注意到了视觉小伙伴的需求,于是便上手开发Fireworks Extension了. 很幸运的,在 ...

  6. 整理之DOM事件阶段、冒泡与捕获、事件委托、ie事件和dom模型事件、鼠标事件

    整理之DOM事件阶段 本文主要解决的问题: 事件流 DOM事件流的三个阶段 先理解流的概念 在现今的JavaScript中随处可见.比如说React中的单向数据流,Node中的流,又或是今天本文所讲的 ...

  7. 总结一下自己脑海里的JavaScript吧(一)--DOM模型

    今天是2019年6月25日,闲来无事,写一篇文章来看看自己脑袋里装了多少JavaScript知识! 这儿就第一章: 说起JavaScript,它是什么?后端脚本语言?前端编程语言?还是在网站浏览器上运 ...

  8. 肆、js的DOM模型

    一.网页中的dom模型框架 1.dom中的3中节点:元素节点.文本节点.属性节点 a.元素节点:html中的各种标签就是各个元素节点,元素节点可以包含其他元素,只有html根节点例外. b.文本节点: ...

  9. 浏览器内核之 HTML 解释器和 DOM 模型

    微信公众号:爱写bugger的阿拉斯加如有问题或建议,请后台留言,我会尽力解决你的问题. 前言 此文章是我最近在看的[WebKit 技术内幕]一书的一些理解和做的笔记.而[WebKit 技术内幕]是基 ...

  10. JavaScript的事件、DOM模型、事件流模型以及内置对象详解(三)

    JS中的事件 JS中的事件分类 1.鼠标事件: click/dbclick/mouseover/mouseout 2.HTML事件: onload/onunload/onsubmit/onresize ...

随机推荐

  1. hibernate利用mysql的自增张id属性实现自增长id和手动赋值id并存

    我们知道在mysql中如果设置了表id为自增长属性的话,insert语句中如果对id赋值(值没有被用到过)了,则插入的数据的id会为用户设置的值,并且该表的id的最大值会重新计算,以插入后表的id最大 ...

  2. centos安装SWFtools服务(pdf2swf)

    第一步:下载swftools-0.9.2.tar.gz 第二步:swftools tar -xzvf swftools-0.9.2.tar.gz cd swftools-0.9.2 ./configu ...

  3. 【转】linux IO子系统和文件系统读写流程

    原文地址:linux IO子系统和文件系统读写流程 我们含有分析的,是基于2.6.32及其后的内核. 我们在linux上总是要保存数据,数据要么保存在文件系统里(如ext3),要么就保存在裸设备里.我 ...

  4. LINUX 笔记之常用打包压缩命令

    1.将所有.jpg文件打成一个名为all.tar的包 tar -cf all.tar *.gif 2.将所有.gif文件追加到all.tar tar -rf all.tar *.gif 3.更新原来t ...

  5. Python3处理HTML获取所需内容

    处理HTML页面,经常使用的便是使用beautifulsoup库 pip install beautifulsoup4 执行上述语句下载bs4库 一般请求下来的所需数据都位于tbody的tr标签里,下 ...

  6. 利用Python对文件批量重命名

    由于要用到对无序的文件进行重命名,以下写了一个脚本,进行批量进行重命名. 基本格式是  i.后缀名 ( i  循环条件下的数 ) 1 #coding:utf8 2 import os; 3 4 def ...

  7. asp中日志方法

    代码文件log.asp中内容如下: <% Function getPath() getPath = request.servervariables("APPL_PHYSICAL_PAT ...

  8. Ajax.Nodejs.跨域访问

    使用环境: 客户端: jQuery 服务器: Node.js 在通过Ajax调用非本域的链接/接口时, 一般是不能成功的, 就算是同一个IP下不同的端口也被认作跨域访问 解决办法记录如下: 客户端: ...

  9. C++STL之双端队列容器

    C++STL之双端队列容器 deque双端队列容器与vector很类似,采用线性表顺序存储结构.但与vector区别,deque采用分块的线性存储结构来存储数据,每块的大小一般为512B,将之称为de ...

  10. Java IO编程全解(三)——伪异步IO编程

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7723174.html 前面讲到:Java IO编程全解(二)--传统的BIO编程 为了解决同步阻塞I/O面临 ...