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>

相关文章
|
3月前
|
JavaScript 前端开发 Go
CSS 与 JS 对 DOM 解析和渲染的影响
【10月更文挑战第16天】CSS 和 JS 会在一定程度上影响 DOM 解析和渲染,了解它们之间的相互作用以及采取适当的优化措施是非常重要的。通过合理的布局和加载策略,可以提高网页的性能和用户体验,确保页面能够快速、流畅地呈现给用户。在实际开发中,要根据具体情况进行权衡和调整,以达到最佳的效果。
|
4月前
|
存储 JavaScript 前端开发
用 HTML + JavaScript DIY 渐进式延迟法定退休年龄测算器
用 HTML + JavaScript DIY 渐进式延迟法定退休年龄测算器
|
11天前
|
人工智能 前端开发 JavaScript
前端基础之HTML
Web1.0、Web2.0 和 Web3.0 标志着互联网发展的三个阶段。Web1.0(静态互联网,1990年代初至2000年代初)以静态内容和单向信息流为主,用户仅能浏览。Web2.0(互动互联网,2000年代初至2010年代初)引入了用户生成内容和社交网络,内容动态且互动性强。Web3.0(语义互联网,2010年代至今)强调语义化、个性化、智能化及去中心化,结合AI、区块链等技术,提供沉浸式体验。HTTP和HTML作为互联网基础协议和技术,在各阶段不断演进,共同推动了现代互联网的发展。
前端基础之HTML
|
2月前
|
前端开发 JavaScript 搜索推荐
HTML与CSS在Web组件化中的核心作用及前端技术趋势
本文探讨了HTML与CSS在Web组件化中的核心作用及前端技术趋势。从结构定义、语义化到样式封装与布局控制,两者不仅提升了代码复用率和可维护性,还通过响应式设计、动态样式等技术增强了用户体验。面对兼容性、代码复杂度等挑战,文章提出了相应的解决策略,强调了持续创新的重要性,旨在构建高效、灵活的Web应用。
47 6
|
4月前
|
JavaScript 前端开发 容器
用HTML DOM实现有条件地渲染网页元素(上)
用HTML DOM实现有条件地渲染网页元素(上)
|
4月前
|
存储 JavaScript 前端开发
用HTML DOM实现有条件地渲染网页元素(下)
用HTML DOM实现有条件地渲染网页元素(下)
|
2月前
|
缓存 JavaScript 前端开发
JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用
本文深入讲解了 JavaScript 与 DOM 交互的基础及进阶技巧,涵盖 DOM 获取、修改、创建、删除元素的方法,事件处理,性能优化及与其他前端技术的结合,助你构建动态交互的网页应用。
58 5
|
2月前
|
JavaScript
JS鼠标框选并删除HTML源码
这是一个js鼠标框选效果,可实现鼠标右击出现框选效果的功能。右击鼠标可拖拽框选元素,向下拖拽可实现删除效果,简单实用,欢迎下载
46 4
|
3月前
|
JavaScript
HTML DOM 节点树
HTML DOM 节点是指在 HTML 文档对象模型中,文档中的所有内容都被视为节点。整个文档是一个文档节点,每个 HTML 元素是元素节点,元素内的文本是文本节点,属性是属性节点,注释是注释节点。DOM 将文档表示为节点树,节点之间有父子和同胞关系。
|
3月前
|
JavaScript
HTML DOM 节点
HTML DOM(文档对象模型)将HTML文档视为节点树,其中每个部分都是节点:文档本身是文档节点,HTML元素是元素节点,元素内的文本是文本节点,属性是属性节点,注释是注释节点。节点间存在父子及同胞关系,形成层次结构。