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操作的更多相关文章

  1. javascript DOM 操作 attribute 和 property 的区别

    javascript DOM 操作 attribute 和 property 的区别 在做 URLRedirector 扩展时,注意到在使用 jquery 操作 checkbox 是否勾选时,用 at ...

  2. javascript DOM 操作

    在javascript中,经常会需要操作DOM操作,在此记录一下学习到DOM操作的知识. 一.JavaScript DOM 操作 1.1.DOM概念 DOM :Document Object Mode ...

  3. javascript DOM操作之 querySelector,querySelectorAll

    javascript DOM操作之 querySelector,querySelectorAll

  4. javascript DOM 操作基础知识小结

    经常用到javascript对dom,喜欢这方便的朋友也很多,要想更好的对dom进行操作,这些基础一定要知道的.   DOM添加元素,使用节点属性  <!DOCTYPE html PUBLIC ...

  5. javascript DOM操作HTML文档

    文档对象模型(DOM)是W3C为解决浏览器混战时代不同浏览器环境之间的差别而制定的模型标准.W3C将文档对象模型定义为:是一个能让程序和脚本动态 访问和更新文档内容.结构和样式的语言平台.提供了标准的 ...

  6. 仅100行的JavaScript DOM操作类库

    如果你构建过Web引用程序,你可能处理过很多DOM操作.访问和操作DOM元素几乎是每一个Web应用程序的通用需求.我们我们经常从不同的控件收集信息,我们需要设置value值,修改div或span标签的 ...

  7. SVG基础以及使用Javascript DOM操作SVG

    SVG 不依赖分辨率 支持事件处理器 最适合带有大型渲染区域的应用程序(比如谷歌地图) 复杂度高会减慢渲染速度(任何过度使用 DOM 的应用都不快) 不适合游戏应用 Canvas 依赖分辨率 不支持事 ...

  8. Javascript DOM操作实例

          最近在学DOM,但是还是没有办法很好的记住API,想找些例子来练习,网上的例子将一个个DOM对象方法挨个举例,并没有集合在一起用,效果不尽人意.所以自己写一份实例,顺便巩固下学到的知识. ...

  9. javascript DOM操作 第19节

    <html> <head> <title>DOM对象</title> <script type="text/javascript&quo ...

  10. 常见的原生javascript DOM操作

    1.创建元素 创建元素:document.createElement() 使用document.createElement()可以创建新元素.这个方法只接受一个参数,即要创建元素的标签名.这个标签名在 ...

随机推荐

  1. 茅坑杀手与Alias Method离散采样

    说起Alias,你可能第一个联想到的是Linux中的Alias命令,就像中世纪那些躲在茅坑下面(是真的,起码日本有粪坑忍者,没有马桶的年代就是社会的噩梦)进行刺杀的杀手一样,让人防不胜防,对于那些被这 ...

  2. 备战金三银四!一线互联网公司java岗面试题整理:Java基础+多线程+集合+JVM合集!

    前言 回首来看2020年,真的是印象中过的最快的一年了,真的是时间过的飞快,还没反应过来年就夸完了,相信大家也已经开始上班了!俗话说新年新气象,马上就要到了一年之中最重要的金三银四,之前一直有粉丝要求 ...

  3. TurtleBot 3 & 2i ROS开源实验平台

    TurtleBot 3 & 2i ROS开源实验平台,全球更受欢迎的ROS平台. TurtleBot是ROS标准平台机器人,在全球开发人员和学生中深受欢迎.其有3个版本: TurtleBot1 ...

  4. [ABP教程]第一章 创建服务端

    Web应用程序开发教程 - 第一章: 创建服务端 关于本教程 在本系列教程中, 你将构建一个名为 Acme.BookStore 的用于管理书籍及其作者列表的基于ABP的应用程序. 它是使用以下技术开发 ...

  5. 杭电OJ2039——三角形(c++)(易错题:数据类型不确定)

    三角形 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submis ...

  6. Java 8 之前的时间处理

    最近在自己瞎折腾,有一个需求是计算当前日期到指定日期有多少天,用于实现纪念日或倒计时的功能.查阅资料后发现Java 8之前的时间日期处理很是麻烦而且被频频吐槽,以至于后来在 Java 8 中推出了一个 ...

  7. TR2021_0000偶发数据库连接异常问题排查

    [问题描述] 数据库连接异常是很难排查的一类问题.因为它牵涉到应用端,网络层和服务器端.任何一个组件异常,都会导致数据库连接失败.开发遇到数据库连接不上的问题,都会第一时间找DBA来协助查看,DBA除 ...

  8. golang遍历时修改被遍历对象

    目录 前言 遍历切片 遍历map 总结 前言 很多时候需要将遍历对象中去掉某些元素,或者往遍历对象中添加元素,这时候就需要小心操作了. 对于go语言中的一些注意事项我做了总结和示例,留下点笔记. 遍历 ...

  9. 我们NetCore下日志存储设计

    日志的分类 首先往大的来说,日志分2种 ①业务日志: 即业务系统需要查看的日志, 常见的比如谁什么时候修改了什么. ②参数日志: 一般是开发人员遇到问题的时候定位用的, 一般不需要再业务系统里展示. ...

  10. pyi文件是干嘛的?(一文读懂Python的存根文件和类型检查)

    参考资料: https://blog.csdn.net/weixin_40908748/article/details/106252884 https://www.python.org/dev/pep ...