首页 > 其他分享 >QD1-P45 JS 练习、以及document对象

QD1-P45 JS 练习、以及document对象

时间:2024-10-19 22:46:54浏览次数:8  
标签:元素 加载 JS 获取 let QD1 P45 document 页面

title: QD1-P45 JS 练习、以及 document 对象

description: 本节学习:1、JavaScript 简单练习。 2、了解 document 对象。

video: [https://www.bilibili.com/video/BV1n64y1U7oj?p=45](https://www.bilibili.com/video/BV1n64y1U7oj?p=45)

subject:前端学习笔记 1

前面几篇没有练习,太无聊了,这篇整点练习巩固一下。练习需要使用 document 对象,所以简单了解一下 document 对象。

简单加法器

recording

完整 HTML 代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>P46-JS-简单加法器</title>
		<script type="text/javascript">
			function addNumbers() {
				//获取输入框中的值,将其转换为数字
				let num1 = Number(document.getElementById("num1").value);
				let num2 = Number(document.getElementById("num2").value);

				// 计算两数之和
				let sum = num1 + num2;

				//显示计算结果
				document.getElementById("result").textContent = "结果:" + sum;
			}
		</script>
	</head>
	<body>
		<h1>简单加法器</h1>

		<input type="number" id="num1" placeholder="输入第一个数字"> +
		<input type="number" id="num2" placeholder="输入第二个数字">
	
		<button onclick="addNumbers()">求和</button>
	
		<p id="result">结果:</p>

	</body>
</html>

了解一下 document 对象

了解 document 对象

document​ 对象是 JavaScript 中用于操作和访问网页内容的核心对象,它代表了网页的整个 DOM(Document Object Model)结构。在浏览器环境下,document​ 对象提供了许多方法和属性,用于动态地修改 HTML、处理事件以及与用户交互。

常用的 ​document 属性和方法

1. document.title

用于获取或设置页面的标题。

console.log(document.title); // 获取当前文档标题
document.title = "新标题";    // 设置文档标题

2. document.body

代表 <body>​ 元素,允许访问或操作页面的主体内容。

console.log(document.body);  // 获取 <body> 元素
document.body.style.backgroundColor = "lightblue";  // 修改 <body> 背景颜色

Clip_2024-10-19_17-54-39

3. document.getElementById(id)

根据元素的 id​ 获取特定元素。

let element = document.getElementById("myElement"); // 获取 id 为 "myElement" 的元素
element.textContent = "新内容";  // 修改元素的文本内容

比如修改一下文章标题

4. document.getElementsByClassName(className)

根据类名获取元素集合(HTMLCollection)。

let elements = document.getElementsByClassName("myClass");  // 获取所有 class 为 "myClass" 的元素
elements[0].style.color = "green";  // 修改第一个元素的文本颜色

比如修改一下正文颜色

5. document.getElementsByTagName(tagName)

根据标签名获取元素集合。

let paragraphs = document.getElementsByTagName("p");  // 获取所有 <p> 元素
paragraphs[0].textContent = "这是第一个段落";  // 修改第一个段落的文本内容

比如替换第一个p标签的内容

6. ​document.querySelector(selector)

返回匹配指定 CSS 选择器的第一个元素。

let firstDiv = document.querySelector("div");  // 获取第一个 <div> 元素
firstDiv.style.border = "1px solid black";     // 给它添加边框

Clip_2024-10-19_20-15-44

7. document.querySelectorAll(selector)

返回与指定 CSS 选择器匹配的所有元素(NodeList)。

let allDivs = document.querySelectorAll("div");  // 获取所有 <div> 元素
allDivs.forEach(div => {
    div.style.backgroundColor = "yellow";  // 将所有 <div> 背景颜色设为黄色
});

Clip_2024-10-19_20-27-39

8. document.createElement(tagName)

创建一个新的 HTML 元素。

let newDiv = document.createElement("div");  // 创建一个 <div> 元素
newDiv.textContent = "这是一个新创建的 div 元素";
document.body.appendChild(newDiv);  // 将新的 div 添加到 <body> 中

Clip_2024-10-19_20-28-33

9. document.removeChild(element)

从 DOM 中删除一个子元素。

let element = document.getElementById("myElement");
document.body.removeChild(element);  // 删除 id 为 "myElement" 的元素

假设删除第二个段落

Clip_2024-10-19_21-13-24

怎样删除

// 删除 id 为 "第二个段落"的元素

// 获取该元素
let sun = document.getElementById('第二个段落');
// 获取父元素
let father = sun.parentNode;
// 通过父元素删除该元素
father.removeChild(sun);

删除成功

​​

10. document.write()

直接向文档中写入内容(注意:这在现代网页开发中并不推荐使用,可能会覆盖页面内容)。

document.write("<h1>这是直接写入的内容</h1>");

写入前

Clip_2024-10-19_21-17-27

写入后

Clip_2024-10-19_21-18-38

其他常用的 ​document 属性

  • document.URL​: 获取当前页面的完整 URL 地址。

    console.log(document.URL);  // 打印当前页面的 URL
    
  • document.cookie​: 获取或设置页面的 cookies。

    console.log(document.cookie);  // 打印页面的 cookies
    document.cookie = "username=John Doe";  // 设置一个 cookie
    
  • document.referrer​: 获取页面的来源 URL(即用户是从哪个页面跳转过来的)。

    console.log(document.referrer);  // 打印来源 URL
    
  • document.readyState​: 表示文档的加载状态("loading", "interactive", "complete")。

    console.log(document.readyState);  // 打印当前文档的加载状态
    

TIPS

HTML文档加载的三种状态

  • loading​: 页面初始加载时的状态,此时浏览器正在下载并解析 HTML 文档,但还没有完成构建 DOM 树。

    • 在这个阶段,你无法操作大部分 DOM 元素,因为它们还没有被解析出来。
  • interactive​: 当 DOM 树已经构建完成时,页面会进入 interactive​ 状态。此时,虽然所有的外部资源可能还没有完全加载,但你已经可以操作 DOM 元素了。

  • complete​: 当页面上的所有资源都已加载完成,浏览器会将 readyState​ 设置为 complete​。这表明页面已经完全加载,用户可以进行任何交互操作。

​​

事件处理

你还可以使用 document​ 对象处理网页上的事件,例如页面加载完成时执行某些操作。

document.addEventListener("DOMContentLoaded", function() {
    console.log("页面已加载完毕");
    // 这里可以放置需要在页面加载完成后执行的代码
});

Clip_2024-10-19_21-51-16

总结

document​ 对象为操作网页提供了丰富的 API,帮助开发者动态地获取、修改和控制页面内容,是前端开发的核心组成部分。

标签:元素,加载,JS,获取,let,QD1,P45,document,页面
From: https://blog.csdn.net/qq_38641599/article/details/143085107

相关文章

  • node.js安装及环境配置基于Windows系统
    node.js安装及环境配置-Windows系统1.下载安装包https://nodejs.org/zh-cn/download/根据自己电脑系统及位数选择,我的电脑是Windows系统、64位、想下载稳定版的.msi(LTS为长期稳定版)这里选择windows64位.msi格式安装包。.msi和.zip格式区别:.msi是Windowsinstaller开发出......
  • 基于Node.js+vue高校党务系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于高校党务系统的研究,现有研究主要以高校管理系统的一般性探讨为主,专门针对高校党务系统细致功能与流程优化的研究较少。在国内外,高校管理相关研究成......
  • 基于Node.js+vue港口车辆管理系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于港口车辆管理系统的研究,现有研究主要以港口的整体运营管理或物流流程优化为主,专门针对港口车辆管理系统的研究较少。在国内外的研究中,一些观点侧重......
  • 基于Node.js+vue电子病历系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于电子病历系统的研究,现有研究主要以系统的基础功能构建和数据存储为主1。专门针对电子病历系统中各功能模块间的协同关系以及对患者就医体验提升的研......
  • 基于node.js+vue基于B_S架构的电商商城系统设计与实现(开题+程序+论文)计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码毕设程序文件开题报告内容一、选题背景关于电商商城系统的研究,现有研究主要以电商平台的运营模式、营销策略等为主,专门针对基于B/S架构的电商商城系统的设计与实现的研究较少。在国内外,电商行业发......
  • 基于Node.js+vue高速公路收费管理系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于高速公路收费管理系统的研究,现有研究主要以高速公路的整体运营管理为主,专门针对收费管理系统细致功能及优化的研究较少。在国内外,部分研究关注于收......
  • 基于Node.js+vue高考成绩及志愿咨询填报系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于高考成绩及志愿咨询填报系统的研究,现有研究主要集中在高考政策解读以及部分高校招生信息的简单汇总方面。专门针对构建一个全面整合学生信息、录取......
  • 基于Node.js+vue动漫模型仓储管理系统(开题+程序+论文) 计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于动漫模型仓储管理的研究,现有研究主要以传统仓储管理为主,专门针对动漫模型这一特殊品类的仓储管理研究较少。在国内外,传统仓储管理在普通商品领域已......
  • 基于node.js+vue基于Android办公系统设计(开题+程序+论文)计算机毕业设计
    本系统(程序+源码+数据库+调试部署+开发环境)带文档lw万字以上,文末可获取源码系统程序文件列表开题报告内容一、选题背景关于Android办公系统的设计,现有研究主要集中在通用性办公软件的开发与优化,如文档编辑、邮件处理等方面。专门针对包含员工工作安排、工作提交、员工考勤......
  • jsp二手书回收平台设计与实现r4hvg--程序+源码+数据库+调试部署+开发环境
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表卖家用户,图书分类,图书信息,用户,图书捐赠,捐赠回收,平台回收开题报告内容一、项目背景随着知识共享理念的深入人心和环保意识的提高,二手书市场逐渐兴起。然......