DOM中元素操作

本文详细介绍了DOM(文档对象模型),包括DOM的定义、DOM对象、DOM树的概念,以及如何操作DOM元素,如获取元素(getElementById、getElementsByTagName等)、创建元素、插入元素、删除元素、复制元素和替换元素。文章还讨论了元素节点、属性节点和文本节点之间的关系,并提供了JavaScript操作DOM的实用技巧和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

知识大纲

  1. DOM是什么?
  2. 节点类型;
  3. 获取元素;
  4. 创建元素;
  5. 插入元素;
  6. 删除元素;
  7. 复制元素;
  8. 替换元素;

DOM是什么?

DOM对象

DOM(Document Object Model)全称“文档对象模型”,是W3C定义的一个标准。

DOM操作,可以简单理解成“元素操作”。

DOM结构

DOM采用“树形结构”,用“树节点”的形式来表示页面中的每个元素。例如:

<html>
<head>
    <meta charset="utf-8" /> 
    <title></title> 
</head> 
<body> 
    <h1>今日学习网</h1>
    <p>今日学习网是一个....</p> 
    <p>今日学习网成立于....</p> 
</body>
</html>

以上也叫“DOM树”,html是DOM树的树根,称之为根元素。(父节点、子节点、兄弟节点)

 

重点】:

每一个元素就是一个节点,而每一个节点就是一个对象。我们在操作元素时,其实就是把这个元素看成了一个对象,然后使用这个对象的属性和方法来进行相关的操作。(DOM对象)

 

节点类型

在JavaScript中,DOM共有12种类型的节点,常用的只有三种节点:

  1. 元素节点;
  2. 属性节点;
  3. 文本节点;
<div id="wrapper">绿叶学习网</div>

 

表示元素的叫作元素节点,表示属性的叫作属性节点,表示文本的叫作文本节点。

疑问】元素与节点的关系?

答:元素是节点,但节点不一定是元素,节点是包含元素的。

疑问】元素节点、属

### PurchaseServlet的设计与实现 以下是基于需求编写的 `PurchaseServlet` 类,该类实现了通过 `HttpSession` 管理购物车状态、将生成的 Session ID 存储到 Cookie 中,并最终重定向至 `CartServlet` 页面。 #### 代码实现 ```java import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; @WebServlet("/purchase") public class PurchaseServlet extends HttpServlet { private static final long serialVersionUID = 1L; @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 获取当前会话或创建新会话 HttpSession session = request.getSession(true); // 初始化购物车对象(如果尚未存在) if (session.getAttribute("cart") == null) { Cart cart = new Cart(); // 假设已定义了一个名为 Cart 的购物车类 session.setAttribute("cart", cart); } // 将 Session ID 添加到 Cookie 并设置过期时间 String sessionId = session.getId(); Cookie cookie = new Cookie("JSESSIONID", sessionId); cookie.setPath("/"); cookie.setMaxAge(60 * 30); // 设置 Cookie 过期时间为 30 分钟 response.addCookie(cookie); // 重定向到 CartServlet 页面 response.sendRedirect(request.getContextPath() + "/cart"); } } ``` --- ### 功能解析 1. **获取或创建会话** 使用 `request.getSession(true)` 方法确保每次请求都会返回一个有效的会话实例。如果不存在现有会话,则自动创建一个新的会话[^1]。 2. **初始化购物车对象** 如果会话中未绑定购物车对象,则创建新的 `Cart` 对象并将其存储在会话中。此操作确保每个用户的购物车状态独立维护[^4]。 3. **存储 Session ID 到 Cookie** 创建一个名为 `JSESSIONID` 的 Cookie 来保存会话标识符,并设置其路径为根路径 (`/`) 最大存活时间为 30 分钟。这样客户端可以在后续请求中携带该 Cookie 自动恢复会话状态[^2]。 4. **重定向至目标页面** 调用 `response.sendRedirect()` 方法将用户重定向到指定的目标地址 `/cart`,即 `CartServlet` 处理程序所在位置[^5]。 --- ### 注意事项 - 需要提前定义好 `Cart` 类及其方法,以便支持实际业务逻辑。 - 若项目运行过程中遇到 XML 文件配置错误或其他问题,可根据提示调整 Tomcat 或 IDE 的环境设置。 - 在生产环境中应考虑安全性措施,例如加密敏感数据或将重要信息存储于服务器端而非客户端 Cookie 中。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值