dom(文档对象模型)

文档结构

文档加载,转换为文档对象模型。将所有的标签,文本,属性转换为dom节点,形成一棵dom树。

标签,元素,节点:

<a>

标签开始到结束的部分

标签,文本,属性

节点的访问

//1.获取p节点
var oP = document.getElementById("p1"); //通过id获取
//2.nodelist:节点列表 node:节点
var aInput = document.getElementsByName("user"); //通过name获取
//console.log(aInput[1]);
//3.通过标签名称获取节点
aInput = document.getElementsByTagName("input");
//4.class名称
//document.getElementsByClassName();
console.log(aInput[0]);

节点操作

内容操作

//内容区的值的获取和修改
var val = oP.innerHTML;
//覆盖p标签内容值,支持使用标签
oP.innerHTML = "<span>bbb</span>"; //内容区的值的获取和修改
var val = oP.innerText;
//不能识别标签
oP.innerText = "<span>bbb</span>";

修改属性(class的修改例外)

document.getElementsByTagName("img")[0].src="img/down.png";
//修改颜色为绿色
oP.className="green";

修改样式

oP.style.color="red";
oP.style.fontSize="12px";

节点之间的访问

//p节点有哪些子节点列表
var aChilds = oP.childNodes;
//几个 3 长度
//console.log(aChilds.length);
//第一个子节点
var fChild = oP.firstChild;
//获取最后一个子节点
var lChild = oP.lastChild; //2. 获取父节点
var oSpan = document.getElementsByTagName("span")[0];
//2.1 1
var p = oSpan.parentNode; //3.获取兄弟节点
oSpan = document.getElementsByTagName("span")[0];
//上一个节点
var pre = oSpan.previousSibling;
//上一个元素节点
pre = oSpan.previousElementSibling;
//下一个节点
var nex = oSpan.nextSibling;
//下一个元素节点
nex = oSpan.nextElementSibling;

节点的添加

//追加一个span节点,hello
//1.获取p节点
var oP = document.getElementsByTagName("p")[0];
//2.创建span节点
var oSpan = document.createElement("span");
//3.创建文本节点
var oTxt = document.createTextNode("hello");
//4.添加文本节点到span节点
oSpan.appendChild(oTxt); //<span>hello</span>
//5.追加span节点到p节点
oP.appendChild(oSpan); //覆盖
document.getElementsByTagName("p")[0]
.innerHTML="<span>hello</span>";

节点的删除

//2.删除子节点
//2.1 获取span节点
var oSpan = document.getElementsByTagName("span")[0];
//2.2 获取父节点
var oP = oSpan.parentNode;
//2.3 从父节点中删除
oP.removeChild(oSpan);

插入子节点

//1.创建span节点
var oSpan = document.createElement("span");
//创建属性节点
var idAttr = document.createAttribute("id");
idAttr.value = "p1";
oSpan.setAttributeNode(idAttr);
//设置属性
/* oSpan.setAttribute("id","span1");
//获取属性
console.log(oSpan.getAttribute("id"));*/
//2.创建文本节点
var oTxt = document.createTextNode("hello");
//3.添加文本节点到span节点
oSpan.appendChild(oTxt); //4.获取参考节点
var oldSpan = document.getElementsByTagName("span")[0];
//5.获取p节点
var oP = oldSpan.parentNode;
oP.insertBefore(oSpan,oldSpan);

Day4 JavaScript(二)dom操作的更多相关文章

  1. 第一百一十六节,JavaScript,DOM操作样式

    JavaScript,DOM操作样式 一.操作样式 CSS作为(X)HTML的辅助,可以增强页面的显示效果.但不是每个浏览器都能支持最新的CSS能力.CSS的能力和DOM级别密切相关,所以我们有必要检 ...

  2. Python之路day13 web 前端(JavaScript,DOM操作)

    参考链接:http://www.cnblogs.com/wupeiqi/articles/5433893.html day13 1. CSS示例 2. JavaScript 3. DOM操作 上节内容 ...

  3. 网站开发综合技术 三 JavaScript的DOM操作

    第3部分 JavaScript的DOM操作 1.DOM的基本概念 DOM是文档对象模型,这种模型为树模型:文档是指标签文档:对象是指文档中每个元素:模型是指抽象化的东西. 2.Windows对象操作 ...

  4. 第一百一十五节,JavaScript,DOM操作表格

    JavaScript,DOM操作表格 学习要点: 1.操作表格 DOM在操作生成HTML上,还是比较简明的.不过,由于浏览器总是存在兼容和陷阱,导致最终的操作就不是那么简单方便了.本章主要了解一下DO ...

  5. JavaScript:DOM操作

    一.DOM基础DOM(Document Object Model)即文档对象模型,针对HTML和XML文档的API(应用程序接口).DOM描绘了一个层次化的节点树,运行开发人员添加.移除和修改页面的某 ...

  6. JavaScript之DOM操作,事件操作,节点操作

    1,DOM操作 1.1  概念 所谓DOM,全称Document Object Model 文档对象模型,DOM是W3C(World Wide Web Consortuum )标准,同时也定义了访问诸 ...

  7. Javascript的DOM操作 - 你真的了解吗?

    摘要 想稍微系统的说说对于DOM的操作,把Javascript和jQuery常用操作DOM的内容归纳成思维导图方便阅读,同时加入性能上的一些问题. 前言 在前端开发的过程中,javascript极为重 ...

  8. HTML JavaScript的DOM操作

    1.DOM的基本概念 DOM是文档对象模型,这种模型为树模型:文档是指标签文档:对象是指文档中每个元素:模型是指抽象化的东西. 2.Window对象操作 一.属性和方法: 属性(值或者子对象): op ...

  9. JavaScript的DOM操作(2)

    补充:   回车符\r和换行符\n的区别:\r 相当于enter,是段落与段落之间的区别, \n 相当于shift+enter,是行与行之间距离,比较小 几种window操作方法: 1.获取当前窗口大 ...

  10. (转)Javascript的DOM操作 - 性能优化

    转载:https://my.oschina.net/blogshi/blog/198910 摘要: 想稍微系统的说说对于DOM的操作,把Javascript和jQuery常用操作DOM的内容归纳成思维 ...

随机推荐

  1. 撰写html标签的快捷方式1

    一: <ul> <li><a href=""></a></li></ul> 如果要写上面的标签,直接写 ul ...

  2. SpringBoot+JPA+cache入门

    在pom.xml中加入如下依赖 <dependency> <groupId>org.springframework.boot</groupId> <artif ...

  3. JAVA虚拟机的生命周期

    一个运行时的Java虚拟机实例的天职是:负责运行一个java程序.当启动一个Java程序时,一个虚拟机实例也就诞生了.当该程序关闭退出,这个虚拟机实例也就随之消亡.如果同一台计算机上同时运行三个Jav ...

  4. sublime3中如何快速生成html头部信息

    前提要安装Emmet 插件:已经结束了啊,不要以为下面的操作跟问题有关,下面是具体的生成头部信息方法 输入下边加粗的缩写,然后Tab,就可以了: 生成html4.01 Transitional用 ht ...

  5. fontforge制作自定义字体及在手机上应用举例——张鑫旭

    一.看似无关紧要的事件背景 之所以花时间折腾fontforge这个软件,去制作什么自定义的字体是有原因滴. 之前提过,最近我抽空将公司的手机软件HTML5网页化.期间碰到这么一个问题,页面低栏上的电话 ...

  6. 洛谷P4783 【模板】矩阵求逆(高斯消元)

    题意 题目链接 Sol 首先在原矩阵的右侧放一个单位矩阵 对左侧的矩阵高斯消元 右侧的矩阵即为逆矩阵 // luogu-judger-enable-o2 #include<bits/stdc++ ...

  7. css中的线及vertical-align

    行内元素格式化顺序: 相关概念:  leading(行间距):指填充在两行文字间的铅条,等于line-height 和 font-size之差,其中一半leading加到文字上方,另一半leading ...

  8. css实现div不定宽高垂直水平居中解决方案

    在项目中我们经常能碰见然图片垂直水平居中,不定宽高的div垂直水平居中,等等~~ 现在我将介绍我所知道的几种用css来解决的几种方案. 1.父元素text-align:center;display:t ...

  9. DOM增删操作(创建删除表格)

    <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...

  10. ES6新语法之let关键字;有别于传统关键字var的使用

    ES6新语法于2015年发布:而我这个前端小白在17年才接触到.惭愧惭愧!!不过到目前为止,似乎只有FireFox和Chrome对ES6的支持相对良好.不过既然人家ES6已经出来了,还是要跟上技术的潮 ...