web前端学习(三十九)——JavaScript DOM简介、通过DOM修改HTML、CSS

简介: web前端学习(三十九)——JavaScript DOM简介、通过DOM修改HTML、CSS

1.JS DOM简介


HTML DOM (文档对象模型),当网页被加载时,浏览器会创建页面的文档对象模型(Document Object Model)。通过HTML DOM,可访问 JavaScript HTML 文档的所有元素。

HTML DOM 模型被构造为对象的树:

 通过可编程的对象模型,JavaScript 获得了足够的能力来创建动态的 HTML

·       JavaScript 能够改变页面中的所有 HTML 元素

·       JavaScript 能够改变页面中的所有 HTML 属性

·       JavaScript 能够改变页面中的所有 CSS 样式

·       JavaScript 能够对页面中的所有事件做出反应

通常,通过 JavaScript,需要操作 HTML 元素。为了做到这件事情,您必须首先找到该元素。有三种方法来做这件事:

·       通过 id 找到 HTML 元素

·       通过标签名找到 HTML 元素

·       通过类名找到 HTML 元素


1.1 通过 id 找到 HTML 元素


<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <title>JS简单学习</title>
  </head>
  <body>
    <p id="demo">你好世界!!!</p>
    <p>该实例展示了 <b>getElementById</b> 方法!</p>
    <script>
      x=document.getElementById("demo");
      document.write("<p>文本来自 id 为 demo 段落: " + x.innerHTML + "</p>");
    </script>
  </body>
</html>

1.2 通过标签名找到 HTML 元素

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>JS简单学习</title>
  </head>
  <body>
    <p>你好世界!</p>
    <div id="main">
      <p> DOM 是非常有用的。</p>
      <p>该实例展示了  <b>getElementsByTagName</b> 方法</p>
    </div>
    <script>
      var x=document.getElementById("main");
      var y=document.getElementsByTagName("p");
      document.write('id="main"元素中的第一个段落为:' + y[0].innerHTML);
    </script>
  </body>
</html>

1.3 通过类名找到 HTML 元素

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>JS简单学习</title>
  </head>
  <body>
    <p class="intro">你好世界!</p>
    <p>该实例展示了 <b>getElementsByClassName</b> 方法!</p>
    <script>
      x=document.getElementsByClassName("intro");
      document.write('<p>文本来自 class 为 "intro" 段落: ' + x[0].innerHTML + "</p>");
    </script>
  </body>
</html>

2.通过DOM修改HTML


HTML DOM 允许 JavaScript 改变 HTML 元素的内容。

主要为这几点:改变 HTML 输出流、改变 HTML 内容、改变 HTML 属性。 

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>JS简单学习</title>
  </head>
  <body>
    <p>在 JavaScript 中,document.write() 可用于直接向 HTML 输出流写内容。</p>
    <script>
      document.write(Date());
    </script>
    <hr />
    <p>修改 HTML 内容的最简单的方法是使用 innerHTML 属性。</p>
    <p id="demo1">Hello World!!!</p>
    <script>
      var x=document.getElementById("demo1");
      x.innerHTML="Hello JS DOM";
    </script>
    <hr />
    <p>改变 HTML 元素的属性:document.getElementById(id).attribute=新属性值</p>
    <img id="demo2" src="img/images/tx.jpg" width="120" height="120" />
    <script>
      document.getElementById("demo2").src="img/images/hetao.jpg";
    </script>
  </body>
</html>

3.通过DOM修改CSS


<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>JS简单学习</title>
  </head>
  <body>
    <p id="css1">Hello World!!!</p>
    <p id="css2">Hello World!!!</p>
    <p id="css3">Hello World!!!</p>
    <script>
      document.getElementById("css1").style.color="red";
      document.getElementById("css2").style.fontFamily="微软雅黑";
      document.getElementById("css3").style.fontSize="xx-large";
    </script>
    <p>以上段落的样式均已通过脚本修改。</p>
    <hr />
    <h2 id="css4">这是一个标题</h2>
    <button type="button" onclick="document.getElementById('css4').style.color='blue'">点击这里</button>
    <hr />
    <p id="html">这是一个文本。 这是一个文本。 这是一个文本。 这是一个文本。 这是一个文本。 这是一个文本。 这是一个文本。</p>
    <input type="button" value="隐藏文本" onclick="document.getElementById('html').style.visibility='hidden'" />
    <input type="button" value="显示文本" onclick="document.getElementById('html').style.visibility='visible'" />
  </body>
</html>

相关文章
|
2天前
|
前端开发
【Web前端】CSS基本语法规范和引入方式&&常见选择器用法&&常见元素属性
【Web前端】CSS基本语法规范和引入方式&&常见选择器用法&&常见元素属性
|
10天前
|
JavaScript 前端开发 UED
【Web 前端】如何将一个 HTML 元素添加到 DOM 树中的?
【5月更文挑战第2天】【Web 前端】如何将一个 HTML 元素添加到 DOM 树中的?
|
10天前
|
JavaScript 前端开发 索引
【Web 前端】jQuery 里的 each() 是什么函数?你是如何使用它的?
【5月更文挑战第2天】【Web 前端】jQuery 里的 each() 是什么函数?你是如何使用它的?
|
10天前
|
存储 前端开发 JavaScript
【Web 前端】如何找到所有 HTML select 标签的选中项?
【5月更文挑战第2天】【Web 前端】如何找到所有 HTML select 标签的选中项?
|
4月前
|
前端开发 JavaScript
前端必看的8个HTML+CSS技巧 (八)瀑布流布局
前端必看的8个HTML+CSS技巧 (八)瀑布流布局
|
4月前
|
前端开发 JavaScript
前端必看的8个HTML+CSS技巧 (六) 裁剪图像的动画
前端必看的8个HTML+CSS技巧 (六) 裁剪图像的动画
|
17天前
|
前端开发 JavaScript
前端 富文本编辑器原理——从javascript、html、css开始入门(二)
前端 富文本编辑器原理——从javascript、html、css开始入门
28 0
前端 富文本编辑器原理——从javascript、html、css开始入门(二)
|
17天前
|
前端开发 JavaScript 索引
前端 富文本编辑器原理——从javascript、html、css开始入门(一)
前端 富文本编辑器原理——从javascript、html、css开始入门
36 0
|
24天前
|
存储 监控 前端开发
局域网管理软件的前端设计与实现:HTML/CSS在网络拓扑展示中的应用
本文探讨了局域网管理软件的前端设计,强调了HTML/CSS在网络拓扑展示中的作用。通过HTML/CSS创建设备节点和绘制连线,实现清晰的网络设备连接展示。此外,利用JavaScript定时收集监控数据,并通过HTTP请求自动提交到网站,便于管理员进行数据分析,提升了局域网管理效率。
75 3
|
1月前
|
人工智能 前端开发 JavaScript
【前端设计】HTML+CSS+JavaScript基本特性
【前端设计】HTML+CSS+JavaScript基本特性