Day4 JavaScript(二)dom操作
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操作的更多相关文章
- 第一百一十六节,JavaScript,DOM操作样式
JavaScript,DOM操作样式 一.操作样式 CSS作为(X)HTML的辅助,可以增强页面的显示效果.但不是每个浏览器都能支持最新的CSS能力.CSS的能力和DOM级别密切相关,所以我们有必要检 ...
- Python之路day13 web 前端(JavaScript,DOM操作)
参考链接:http://www.cnblogs.com/wupeiqi/articles/5433893.html day13 1. CSS示例 2. JavaScript 3. DOM操作 上节内容 ...
- 网站开发综合技术 三 JavaScript的DOM操作
第3部分 JavaScript的DOM操作 1.DOM的基本概念 DOM是文档对象模型,这种模型为树模型:文档是指标签文档:对象是指文档中每个元素:模型是指抽象化的东西. 2.Windows对象操作 ...
- 第一百一十五节,JavaScript,DOM操作表格
JavaScript,DOM操作表格 学习要点: 1.操作表格 DOM在操作生成HTML上,还是比较简明的.不过,由于浏览器总是存在兼容和陷阱,导致最终的操作就不是那么简单方便了.本章主要了解一下DO ...
- JavaScript:DOM操作
一.DOM基础DOM(Document Object Model)即文档对象模型,针对HTML和XML文档的API(应用程序接口).DOM描绘了一个层次化的节点树,运行开发人员添加.移除和修改页面的某 ...
- JavaScript之DOM操作,事件操作,节点操作
1,DOM操作 1.1 概念 所谓DOM,全称Document Object Model 文档对象模型,DOM是W3C(World Wide Web Consortuum )标准,同时也定义了访问诸 ...
- Javascript的DOM操作 - 你真的了解吗?
摘要 想稍微系统的说说对于DOM的操作,把Javascript和jQuery常用操作DOM的内容归纳成思维导图方便阅读,同时加入性能上的一些问题. 前言 在前端开发的过程中,javascript极为重 ...
- HTML JavaScript的DOM操作
1.DOM的基本概念 DOM是文档对象模型,这种模型为树模型:文档是指标签文档:对象是指文档中每个元素:模型是指抽象化的东西. 2.Window对象操作 一.属性和方法: 属性(值或者子对象): op ...
- JavaScript的DOM操作(2)
补充: 回车符\r和换行符\n的区别:\r 相当于enter,是段落与段落之间的区别, \n 相当于shift+enter,是行与行之间距离,比较小 几种window操作方法: 1.获取当前窗口大 ...
- (转)Javascript的DOM操作 - 性能优化
转载:https://my.oschina.net/blogshi/blog/198910 摘要: 想稍微系统的说说对于DOM的操作,把Javascript和jQuery常用操作DOM的内容归纳成思维 ...
随机推荐
- js静态数据分页展示
拿vue做示例 首先定义data data() { return { tableData: [], // 当前页的数据,用于给表格展示用的 tableDataAll: [], // 需要拿来分页的总数 ...
- 【代码笔记】iOS-cell折叠
一,效果图. 二,工程图. 三,代码. AppDelegate.h #import <UIKit/UIKit.h> //加入头文件 #import "myQQView.h&quo ...
- join() 方法详解及应用场景
总结:join方法的功能就是使异步执行的线程变成同步执行.也就是说,当调用线程实例的start方法后,这个方法会立即返回,如果在调用start方法后后需要使用一个由这个线程计算得到的值,就必须使用jo ...
- LeetCode题解之Peak Index in a MountainArray
1 题目描述 2.问题分析 直接从后向前遍历,找到 A[i] > A[i-1] 即可. 3.代码 int peakIndexInMountainArray(vector<int>&a ...
- Executors相关的类(线程池)
一.概述 Java是天生就支持并发的语言,支持并发意味着多线程,线程的频繁创建在高并发及大数据量是非常消耗资源的,因为java提供了线程池.在jdk1.5以前的版本中,线程池的使用是及其简陋的,但是在 ...
- linux centos5.8装yum安装mysql
默认的yum安装mysql都是5.1版本的 想要安装5.7的可以进行配置rpm包进行, mysql5.7安装路径 下面是默认的5.1安装路径 首先我们在使用yum安装的的时候会默认使用最新安装的,最 ...
- 使用jqGrid过程中出现的问题
在使用jqGrid过程中,需要后台查询数据添加到表格中,在js中循环调用addRowData方法时出现浏览器崩溃现象. 原因:jqGrid的addRowData方法中做了一系列的处理,在后台返回数据量 ...
- [翻译] SCViewShaker
SCViewShaker https://github.com/rFlex/SCViewShaker About A highly configurable UIView category for s ...
- NSMapTable、NSHashTable与NSPointerArray的封装
NSMapTable.NSHashTable与NSPointerArray的封装 说明 NSMapTable对应NSDictionary:NSHashTable对应NSSet:NSPointerArr ...
- 远程计算机 进程/服务 启动停止(WMI)
WMI的远程管理需要其计算机的本地管理员组权限,例:gwmi win32_computersystem -computer win08r2d #在远程计算机上启动 notepad.exe 进程invo ...