You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用jQuery复制指定class的<li>元素并在页面展示

解决方案

问题分析

  • 尝试1的问题:重复赋值变量listElements导致第一次克隆的元素被覆盖,且wrapAll('<li>')属于错误操作——原目标本身就是<li>元素,不需要额外包裹。
  • 尝试2的问题:选择器与实际DOM结构不匹配(原DOM中不存在.fitWhereWrap类),且jQuery对象不能直接调用数组的push()方法,直接将数组传给html()也不符合语法要求。

可行代码示例

如果需要替换原<ul class="island_c">的内容为克隆后的目标元素,可以使用以下代码:

// 选中所有目标<li>元素并克隆
var clonedItems = $(".island_a .island_b .island_c li.aaaaaa, .island_a .island_b .island_c li.bbbbbb, .island_a .island_b .island_c li.cccccc, .island_a .island_b .island_c li.dddddd").clone();
// 清空原ul并添加克隆后的元素
$(".island_a .island_b .island_c").empty().append(clonedItems);

如果需要将克隆后的元素展示到页面其他容器(比如新增一个<div id="target-container">),可以修改为:

var clonedItems = $(".island_c li").filter(".aaaaaa, .bbbbbb, .cccccc, .dddddd").clone();
$("#target-container").append(clonedItems);

代码说明

  1. 选择器优化:用逗号分隔多个类选择器直接匹配所有目标<li>;或者先用$(".island_c li")选中ul下所有li,再用filter()筛选指定类的元素,代码更简洁。
  2. clone()方法:完整复制元素及其内部结构,若需要保留元素绑定的事件,可传入参数true(即clone(true))。
  3. empty() + append():先清空目标容器原有内容,再添加克隆后的元素,避免内容重复。

内容的提问来源于stack exchange,提问作者user17988871

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 07:45:51