当前位置: 首页 > news >正文

jQuery DOM节点操作详解

本文详细介绍常见的DOM节点操作方法,包括创建、插入、删除、替换和复制等操作。

本文目录

        • 1. 创建新节点
        • 2. 插入节点
        • 3. 删除节点
        • 4. 替换节点
        • 5. 复制节点
        • 6. 包裹节点
        • 7. DOM操作的链式调用
        • 8. 操作DOM节点的属性和内容

1. 创建新节点

使用HTML字符串或jQuery对象创建新元素

// 创建文本节点
const $textNode = $("<p>这是一个新段落</p>");// 创建带属性的元素
const $link = $("<a>", {href: "https://api.com",text: "访问api网站",class: "external-link"
});// 创建包含子元素的复杂结构
const $container = $("<div>", { class: "container" }).append($("<h2>标题</h2>"),$("<p>内容段落</p>"),$("<ul>").append($("<li>项目1</li>"),$("<li>项目2</li>"))
);
2. 插入节点

将元素插入到DOM中的指定位置

// 内部插入,作为子元素
$("div").append("<p>追加到末尾</p>");       // 末尾追加
$("div").prepend("<p>插入到开头</p>");     // 开头插入// 外部插入,作为兄弟元素
$("p").after("<div>在后面插入</div>");     // 后面插入
$("p").before("<span>在前面插入</span>");  // 前面插入// 链式操作示例
$("<button>点击</button>").appendTo("div")                         // 追加到div.click(function() { alert("被点击了"); });// 插入已存在的元素,会移动而非复制
$("#element").appendTo("#target");        // 将#element移动到#target内部
3. 删除节点

从DOM中移除元素

// 删除元素及其子元素
$("p").remove();                          // 删除所有p元素// 删除元素但保留数据和事件
$("div").detach();                        // 可重新插入DOM// 清空元素内容,保留元素本身
$("ul").empty();                          // 移除所有li子元素
4. 替换节点

用新元素替换现有元素

// 替换单个元素
$("p").replaceWith("<h3>替换为标题</h3>");  // 替换所有p元素// 使用jQuery对象替换
const $newElement = $("<div>新内容</div>");
$("span").replaceWith($newElement);// 自替换,修改后重新插入
$("div").each(function() {$(this).replaceWith("<div class='new'>" + $(this).text() + "</div>");
});
5. 复制节点

使用 .clone() 方法复制元素

// 浅复制,不包含事件
$("li").clone().appendTo("ul");           // 复制所有li并追加到ul// 深复制,包含事件和数据
$("button").clone(true).insertAfter("button");  // 复制按钮及其事件// 复制并修改内容
$("p").clone().text("复制后的新文本").appendTo("div");
6. 包裹节点

用其他元素包裹DOM元素

// 为每个元素单独包裹
$("p").wrap("<div class='wrapper'></div>");  // 每个p被单独包裹// 将所有元素包裹在一起
$("p").wrapAll("<div class='container'></div>");  // 所有p被一个div包裹// 包裹元素内容
$("h1").wrapInner("<span class='highlight'></span>");  // 包裹h1的文本
7. DOM操作的链式调用

jQuery的方法通常返回自身,支持链式调用

$("<div>").addClass("box").html("<p>内容</p>").css("background-color", "#f0f0f0").appendTo("body").click(function() { $(this).fadeOut(); });
8. 操作DOM节点的属性和内容

结合属性和内容操作

// 设置属性
$("img").attr("src", "image.jpg");// 获取和设置内容
const text = $("p").text();               // 获取文本内容
$("div").html("<strong>新HTML</strong>");  // 设置HTML内容// 修改表单值
$("input").val("新值");



← 上一篇 AngularJS知识快速入门(上)
记得点赞、关注、收藏哦!
下一篇 Ajax——在OA系统提升性能的局部刷新 →
http://www.dtcms.com/a/315432.html

相关文章:

  • stm32F407 硬件COM事件触发六步换相
  • AI医疗革命:十大应用场景如何重塑未来医疗
  • 手绘风格制图新选择:如何用Excalidraw+cpolar构建你的视觉化工作流?
  • windos10 安装CentOS7 虚拟机笔记
  • Datawhale AI夏令营 第三期 task2
  • 基于ZYNQ ARM+FPGA的声呐数据采集系统设计
  • 01数据结构-平衡二叉树
  • Prometheus监控学习-安装
  • 【Git】实现使用SSH方式连接远程仓库时的免密操作
  • 计算机网络:目的网络在路由表项中的作用
  • Python实战项目--学生成绩管理系统
  • 机器人slam个人笔记
  • 交叉验证:机器学习模型评估的“稳压器”——从原理到实战
  • 测试开发:Python+Django实现接口测试工具
  • AI 对话高效输入指令攻略(四):AI+Apache ECharts:生成各种专业图表
  • 第六章 道阻且艰(2025.7学习总结)
  • 期权定价全解析:从Black-Scholes到量子革命的金融基石
  • 利用Coze平台生成测试用例
  • 发票的分类识别与查验接口-发票管理软件-发票查验API
  • C++返回值优化(RVO):高效返回对象的艺术
  • 《算法导论》第 2 章 - 算法基础
  • spring webflux链路跟踪【traceId日志自动打印】
  • 【Spring Boot 快速入门】七、阿里云 OSS 文件上传
  • 从零实现富文本编辑器#6-浏览器选区与编辑器选区模型同步
  • dos中常用的全屏幕编辑器
  • 一次“无告警”的服务器宕机分析:从无迹可寻到精准定位
  • 服务器数据恢复—坏道致Raid5阵列硬盘离线如何让数据重生?
  • 【Electron】electron-vite中基于electron-builder与electron-updater实现程序远程自动更新,附源码
  • 前端性能工程化:构建高性能Web应用的系统化实践
  • 8.5 CSS3-flex弹性盒子