JavaScript——DOM操作
DOM-(Document Object Model)即文档对象模型。
JavaScript可以动态地修改DOM,从而来修改HTML的内容。
查找HTML元素
通过 id 找到 HTML 元素
通过标签名找到 HTML 元素
通过类名找到 HTML 元素
设置样式总结:
className:用于为DOM元素直接添加一个样式类
style:用于为DOM元素添加某一个样式值,注意驼峰写法
styleText:用于为DOM元素一次添加多个样式
创建和增加节点:
createElement():创建节点
appendChild():末尾追加方式插入节点
insertBefore()在指定节点前插入新节点
cloneNode():克隆节点
相关练习代码:
动态添加内容
<script type="text/javascript">
window.onload = function() {
var d = document.getElementById('d');
//创建一个节点,里面是节点标签的名字
//定义个变量,等于创建好的标签,然后在再向其中添加内容
var a = document.createElement('a');
a.href = '01.html';
a.innerText = '添加的新内容';
//添加元素到div里
d.appendChild(a);
//在指定节点前插入新的节点
var p = document.createElement('p');
//添加文本内容
p.innerText = "这是被添加的内容";
// d.appendChild(p);
//参数1:要添加的元素,参数2:指定节点
d.insertBefore(p,a);
//克隆节点
var span = document.getElementById(s);
//克隆元素
//cloneNode()有个参数,默认是false,修改为true,可以将原来的标签也克隆出来
var spanc = span.cloneNode(true);
d.appendChild(spanc);
}
</script>
<body>
<div id="d">
</div>
<span id="s">
span标签内的内容
</span>
</body>
根据层次关系查找节点
<script>
window.onload = function() {
//通过id找到所需要的td
var t1 = document.getElementById('t1');
//获取父节点元素
var tr = t1.parentNode;
tr.style.backgroundColor = 'red';
//获取子节点元素
var tt3 = document.getElementById('tt3');
tr.lastElementChild;
tt3.innerText = 'blue';
//前一个元素节点
var t4 = t3.previousElementSibling;
t4.innerText = "000000";
//后一个元素节点
var t5 = t4.nextElementSibling;
t5.innerText = "XXXXXX";
}
</script>
<body>
<table>
<tr>
<td id = "t1">1</td>
<td id = "t2">2</td>
<td id = "t3">3</td>
</tr>
<tr>
<td id = "tt1">1</td>
<td id = "tt2">2</td>
<td id = "tt3">3</td>
</tr>
</table>
</body>
设置样式
<script type="text/javascript">
window.onload=function(){
/* 文档就绪函数*/
var d = document.getElementById('d');
//添加文本信息
/* d.innerText = "添加文本信息";
d.innerHTML = "可以直接添加文本信息,还可以添加标签";*/
var abc = document.getElementsByName('abc');
/*错误,ByName返回的是个数组,要通过数组来选取*/abc.href = "";
/*ByName 通过数组下标得到对应元素*/
abc[0].innerText = "修改原先的内容,改变文本信息";
/*传递标签名字,给标签添加内容,该标签无ID,也无class属性*/
var span = document.getElementsByTagName('span');
span[0].innerText("添加的文本信息");
/*通过className找对应元素*/
var c =document.getElementsByClassName('c');
for(var i = 0; i < c.length; i++){
c[i].innerText = "把它原先的内容去改变";
}
/*属性是成对出现,属性名+属性方法*/
document.getElementById("food").className = "fruit";
document.getElementById("food").style.color = "red";
document.getElementById("food").style.size = "20px";
}
</script>
<body>
<div id="d">
</div>
<a href="" name="abc">属性名字abc</a>
<span>
</span>
</body>
JavaScript——DOM操作的更多相关文章
- javascript DOM 操作 attribute 和 property 的区别
javascript DOM 操作 attribute 和 property 的区别 在做 URLRedirector 扩展时,注意到在使用 jquery 操作 checkbox 是否勾选时,用 at ...
- javascript DOM 操作
在javascript中,经常会需要操作DOM操作,在此记录一下学习到DOM操作的知识. 一.JavaScript DOM 操作 1.1.DOM概念 DOM :Document Object Mode ...
- javascript DOM操作之 querySelector,querySelectorAll
javascript DOM操作之 querySelector,querySelectorAll
- javascript DOM 操作基础知识小结
经常用到javascript对dom,喜欢这方便的朋友也很多,要想更好的对dom进行操作,这些基础一定要知道的. DOM添加元素,使用节点属性 <!DOCTYPE html PUBLIC ...
- javascript DOM操作HTML文档
文档对象模型(DOM)是W3C为解决浏览器混战时代不同浏览器环境之间的差别而制定的模型标准.W3C将文档对象模型定义为:是一个能让程序和脚本动态 访问和更新文档内容.结构和样式的语言平台.提供了标准的 ...
- 仅100行的JavaScript DOM操作类库
如果你构建过Web引用程序,你可能处理过很多DOM操作.访问和操作DOM元素几乎是每一个Web应用程序的通用需求.我们我们经常从不同的控件收集信息,我们需要设置value值,修改div或span标签的 ...
- SVG基础以及使用Javascript DOM操作SVG
SVG 不依赖分辨率 支持事件处理器 最适合带有大型渲染区域的应用程序(比如谷歌地图) 复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快) 不适合游戏应用 Canvas 依赖分辨率 不支持事 ...
- Javascript DOM操作实例
最近在学DOM,但是还是没有办法很好的记住API,想找些例子来练习,网上的例子将一个个DOM对象方法挨个举例,并没有集合在一起用,效果不尽人意.所以自己写一份实例,顺便巩固下学到的知识. ...
- javascript DOM操作 第19节
<html> <head> <title>DOM对象</title> <script type="text/javascript&quo ...
- 常见的原生javascript DOM操作
1.创建元素 创建元素:document.createElement() 使用document.createElement()可以创建新元素.这个方法只接受一个参数,即要创建元素的标签名.这个标签名在 ...
随机推荐
- python实例:解决经典扑克牌游戏 -- 四张牌凑24点 (二)
Hey! 如果你还没有看这篇的上文的话,可以去稍稍瞅一眼,会帮助加速理解这一篇里面涉及到的递归结构哦!(上一篇点这里:<python实例:解决经典扑克牌游戏 -- 四张牌凑24点 (一)> ...
- Ubuntu 18.04 使用docker 部署gitlab并且使用自定义端口号
搭建原因 两个月前我搭建了公司的docker(无法自定义端口,),当初只想着把托管在GitHub的项目代码放在公司的服务器上面,后来忙着修改人脸服务器代码,忘记了,这个月由于领导提的需求比较多,还是托 ...
- UML软件工程复习——用例图和类图
------------恢复内容开始------------ 软件产品开发流程是需求.分析.设计.实现. 面向对象三大特征:继承性,封装性.多态性 模型将软件生命周期划分为软件计划.需求分析和定义.软 ...
- WebSocket协议中文版
WebSocket协议中文版 摘要 WebSocket协议实现在受控环境中运行不受信任代码的一个客户端到一个从该代码已经选择加入通信的远程主机之间的全双工通信.用于这个安全模型是通常由web浏览器使用 ...
- 百度智能(文本识别),API传图OC代码与SDK使用
百度智能中的文本识别中的身份证识别,有API方式和SDK方式 API方式 百度智能(文本识别),百度API传图没有提供OC的示例,这里提供一下 - (void)OCTest:(NSString*)to ...
- 【.NET 与树莓派】使用 GPIO 库
上回老周在说准备工作的时候,提到过树莓派用金属盒散热的事情.有朋友会说,加了金属盒子接线不方便,就算用了"T"形板,毕竟是把导线延长了的.其实扩展板就是把原有的引脚引出(类似于延长 ...
- L(kali)A(apache)M(mysql)P(php)环境+wordpress站点搭建
一:LAMP环境配置 首先LAMP(linux+apache+mysql+php)即为本次搭建网站所需的环境,由于本次使用的debian衍生版kali版本自带lamp,因此只要在服务器上启动相应服务既 ...
- 【MySQL】CentOS7中使用systemctl工具管理启动和停止MySQL
centos7以前版本,可以使用这个/etc/init.d/mysqld start 来启动mysql 但是centos7之后,通过systemctl start mysqld.service 这个要 ...
- Linux下载并安装JDK1.8
https://blog.csdn.net/Future_LL/article/details/84667634
- StringBuilder和输入输出
构建字符串(StringBuilder的应用) 有些时候,需要由较短的字符串构建字符串,例如:按键或来自文件的单词,采用字符串连接的方式达到此目的效率比较低.每次连接字符串,都会构建一个新的Strin ...