0

0

使用 JavaScript 或 jQuery 创建 HTML 元素的起始标签

聖光之護

聖光之護

发布时间:2025-09-15 10:29:00

|

846人浏览过

|

来源于php中文网

原创

使用 javascript 或 jquery 创建 html 元素的起始标签

本文介绍了如何使用 JavaScript 或 jQuery 操作 DOM 来实现 HTML 元素的起始和结束标签的创建与插入。重点在于理解 jQuery 和 JavaScript 的工作方式,它们操作的是 DOM 节点,而非简单的 HTML 字符串。通过示例代码,展示了如何创建

元素,并将现有的
  • 元素移动到该
    元素中,从而达到期望的布局效果。

    在使用 JavaScript 或 jQuery 操作 HTML 结构时,需要理解它们操作的是 DOM(文档对象模型),而不是简单的 HTML 字符串。DOM 将 HTML 文档表示为一个树形结构,每个 HTML 元素都是一个节点。因此,我们不能像处理字符串那样直接添加起始标签或结束标签。

    正确的方法是创建 DOM 元素,然后将其他元素移动到该元素中。下面通过一个具体的例子来说明如何实现将列表中的前几个和后几个

  • 元素分别包裹在不同的
    元素中,从而创建不同的列。

    示例

    立即学习Java免费学习笔记(深入)”;

    假设我们有以下 HTML 结构:

    我们希望将前三个

  • 元素和后两个
  • 元素分别包裹在 class="sub-menu-col" 的
    元素中。

    使用 jQuery 实现

    Kacha
    Kacha

    KaCha是一款革命性的AI写真工具,用AI技术将照片变成杰作!

    下载
    $(document).ready(function() {
      // 创建第一个 div.sub-menu-col
      const col1 = $('');
    
      // 将前三个 li 元素移动到第一个 div 中
      $(".sub-menu li:lt(3)").appendTo(col1);
    
      // 将第一个 div 添加到 ul.sub-menu 中
      $(".sub-menu").append(col1);
    
      // 创建第二个 div.sub-menu-col
      const col2 = $('');
    
      // 将后两个 li 元素移动到第二个 div 中
      $(".sub-menu li:gt(0)").appendTo(col2);
    
      // 将第二个 div 添加到 ul.sub-menu 中
      $(".sub-menu").append(col2);
    
      // 删除原始的 li 元素
      $(".sub-menu li:not(.sub-menu-col li)").remove();
    
      // 将创建的div重新排序
      $(".sub-menu").append($(".sub-menu-col"));
    
    });

    代码解释

    1. $(''): 创建一个新的
      元素,并设置 class 属性为 sub-menu-col。
    2. $(".sub-menu li:lt(3)").appendTo(col1): 选择前三个
    3. 元素,并将它们移动到 col1 中。:lt(3) 是一个 jQuery 选择器,用于选择索引小于 3 的元素(即前三个元素)。appendTo() 方法将选中的元素添加到指定的元素中。
    4. $(".sub-menu").append(col1): 将 col1 添加到 ul.sub-menu 的末尾。
    5. $(".sub-menu li:gt(0)").appendTo(col2): 选择后两个
    6. 元素,并将它们移动到 col2 中。:gt(0) 是一个 jQuery 选择器,用于选择索引大于 0 的元素。
    7. $(".sub-menu").append(col2): 将 col2 添加到 ul.sub-menu 的末尾。
    8. $(".sub-menu li:not(.sub-menu-col li)").remove();: 移除原始的
    9. 元素,因为它们已经被移动到新的
      元素中。
    10. $(".sub-menu").append($(".sub-menu-col"));: 重新排序
      元素,确保它们在
        元素中按正确的顺序排列

        使用 JavaScript 实现

        document.addEventListener('DOMContentLoaded', function() {
          const subMenu = document.querySelector('.sub-menu');
          const listItems = subMenu.querySelectorAll('li');
        
          // 创建第一个 div.sub-menu-col
          const col1 = document.createElement('div');
          col1.classList.add('sub-menu-col');
        
          // 将前三个 li 元素移动到第一个 div 中
          for (let i = 0; i < 3; i++) {
            col1.appendChild(listItems[i].cloneNode(true)); // 使用 cloneNode 避免从原位置移除
          }
          subMenu.appendChild(col1);
        
          // 创建第二个 div.sub-menu-col
          const col2 = document.createElement('div');
          col2.classList.add('sub-menu-col');
        
          // 将后两个 li 元素移动到第二个 div 中
          for (let i = listItems.length - 2; i < listItems.length; i++) {
            col2.appendChild(listItems[i].cloneNode(true)); // 使用 cloneNode 避免从原位置移除
          }
          subMenu.appendChild(col2);
        
          // 删除原始的 li 元素
          listItems.forEach(item => item.remove());
        
          // 将创建的div重新排序
          const cols = subMenu.querySelectorAll('.sub-menu-col');
          cols.forEach(col => subMenu.appendChild(col));
        });

        代码解释

      1. document.createElement('div'): 创建一个新的
        元素。
      2. col1.classList.add('sub-menu-col'): 为
        元素添加 sub-menu-col 类。
      3. col1.appendChild(listItems[i].cloneNode(true)): 将选中的
      4. 元素克隆后添加到 col1 中。cloneNode(true) 用于创建元素的深拷贝,确保复制元素及其所有子元素。
      5. subMenu.appendChild(col1): 将 col1 添加到 ul.sub-menu 的末尾。
      6. listItems.forEach(item => item.remove()): 移除原始的
      7. 元素,因为它们已经被移动到新的
        元素中。
      8. cols.forEach(col => subMenu.appendChild(col)): 重新排序
        元素,确保它们在
          元素中按正确的顺序排列。

          注意事项

          • 在移动 DOM 元素时,需要注意元素的引用关系。如果直接将元素移动到新的父元素中,元素会从原来的位置移除。如果需要保留原来的元素,可以使用 cloneNode(true) 方法创建元素的副本。
          • 在选择元素时,可以使用 jQuery 选择器或 JavaScript 的 DOM API。jQuery 选择器更加简洁易用,但需要引入 jQuery 库。JavaScript 的 DOM API 更加原生,不需要依赖任何库。
          • 确保在 DOM 加载完成后执行 JavaScript 代码,可以使用 $(document).ready() (jQuery) 或 document.addEventListener('DOMContentLoaded', function() {}) (JavaScript) 来实现。

          总结

          通过创建 DOM 元素,并将现有元素移动到新创建的元素中,可以实现对 HTML 结构的灵活操作。无论是使用 jQuery 还是 JavaScript,理解 DOM 的工作方式是至关重要的。避免直接操作 HTML 字符串,而是通过操作 DOM 节点来实现所需的功能。

  • 相关文章

    JavaScript AES加密解密结果不一致及乱码问题详解

    如何在点击时自动加载原始尺寸图像并用 Magnific Popup 打开灯箱

    JavaScript 中自增/自减运算符的前置与后置区别详解

    如何在动态生成的表单中精准定位触发事件的输入框索引

    如何用 JavaScript 正确实现按钮控制段落显隐切换

    HTML速学教程(入门课程)
    HTML速学教程(入门课程)

    HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

    下载

    相关标签:

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    上一篇:VS Code中Emmet长缩写词的多行书写挑战与官方建议 下一篇:自定义Bootstrap导航栏活跃项样式:jQuery与CSS实践指南

    作者最新文章

    热门AI工具

    更多

    相关专题

    更多
    js获取数组长度的方法
    js获取数组长度的方法

    在js中,可以利用array对象的length属性来获取数组长度,该属性可设置或返回数组中元素的数目,只需要使用“array.length”语句即可返回表示数组对象的元素个数的数值,也就是长度值。php中文网还提供JavaScript数组的相关下载、相关课程等内容,供大家免费下载使用。

    543

    2023.06.20

    js刷新当前页面
    js刷新当前页面

    js刷新当前页面的方法:1、reload方法,该方法强迫浏览器刷新当前页面,语法为“location.reload([bForceGet]) ”;2、replace方法,该方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,不能通过“前进”和“后退”来访问已经被替换的URL,语法为“location.replace(URL) ”。php中文网为大家带来了js刷新当前页面的相关知识、以及相关文章等内容

    372

    2023.07.04

    js四舍五入
    js四舍五入

    js四舍五入的方法:1、tofixed方法,可把 Number 四舍五入为指定小数位数的数字;2、round() 方法,可把一个数字舍入为最接近的整数。php中文网为大家带来了js四舍五入的相关知识、以及相关文章等内容

    727

    2023.07.04

    js删除节点的方法
    js删除节点的方法

    js删除节点的方法有:1、removeChild()方法,用于从父节点中移除指定的子节点,它需要两个参数,第一个参数是要删除的子节点,第二个参数是父节点;2、parentNode.removeChild()方法,可以直接通过父节点调用来删除子节点;3、remove()方法,可以直接删除节点,而无需指定父节点;4、innerHTML属性,用于删除节点的内容。

    470

    2023.09.01

    JavaScript转义字符
    JavaScript转义字符

    JavaScript中的转义字符是反斜杠和引号,可以在字符串中表示特殊字符或改变字符的含义。本专题为大家提供转义字符相关的文章、下载、课程内容,供大家免费下载体验。

    392

    2023.09.04

    js生成随机数的方法
    js生成随机数的方法

    js生成随机数的方法有:1、使用random函数生成0-1之间的随机数;2、使用random函数和特定范围来生成随机整数;3、使用random函数和round函数生成0-99之间的随机整数;4、使用random函数和其他函数生成更复杂的随机数;5、使用random函数和其他函数生成范围内的随机小数;6、使用random函数和其他函数生成范围内的随机整数或小数。

    990

    2023.09.04

    如何启用JavaScript
    如何启用JavaScript

    JavaScript启用方法有内联脚本、内部脚本、外部脚本和异步加载。详细介绍:1、内联脚本是将JavaScript代码直接嵌入到HTML标签中;2、内部脚本是将JavaScript代码放置在HTML文件的`<script>`标签中;3、外部脚本是将JavaScript代码放置在一个独立的文件;4、外部脚本是将JavaScript代码放置在一个独立的文件。

    654

    2023.09.12

    Js中Symbol类详解
    Js中Symbol类详解

    javascript中的Symbol数据类型是一种基本数据类型,用于表示独一无二的值。Symbol的特点:1、独一无二,每个Symbol值都是唯一的,不会与其他任何值相等;2、不可变性,Symbol值一旦创建,就不能修改或者重新赋值;3、隐藏性,Symbol值不会被隐式转换为其他类型;4、无法枚举,Symbol值作为对象的属性名时,默认是不可枚举的。

    544

    2023.09.20

    php源码安装教程大全
    php源码安装教程大全

    本专题整合了php源码安装教程,阅读专题下面的文章了解更多详细内容。

    65

    2025.12.31

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    相关下载

    更多

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    React 教程
    React 教程

    共58课时 | 3.2万人学习

    TypeScript 教程
    TypeScript 教程

    共19课时 | 1.9万人学习

    Bootstrap 5教程
    Bootstrap 5教程

    共46课时 | 2.7万人学习

    最新文章

    更多
    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号