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

如何用JQuery去除HTML重复skill-category并重构列表展示?

解决方案:用jQuery归类并重构技能列表HTML结构

你需要把重复的分类标题合并,将同分类下的技能整理成列表展示,直接修改文本的思路没法实现结构重构,得先收集分类数据再重新生成HTML结构,具体代码如下:

// 1. 收集所有分类与对应技能
const skillCategories = {};

$('.skill-item').each(function() {
  const category = $(this).find('.skill-category').text().trim();
  const skill = $(this).find('div:not(.skill-category)').text().trim();
  
  // 初始化分类数组,追加技能项
  if (!skillCategories[category]) {
    skillCategories[category] = [];
  }
  skillCategories[category].push(skill);
});

// 2. 清空原容器,重新构建目标HTML结构
const $skillContainer = $('.skill-items').empty();

// 遍历分类数据,生成对应DOM元素
$.each(skillCategories, function(category, skills) {
  // 创建分类标题
  const $categoryTitle = $('<p>').text(category);
  // 创建技能列表容器
  const $skillList = $('<ul>');
  
  // 生成每个技能的列表项
  skills.forEach(skill => {
    $skillList.append($('<li>').text(skill));
  });
  
  // 将标题和列表插入容器
  $skillContainer.append($categoryTitle).append($skillList);
});

代码说明:

  • 第一步遍历所有技能项,把分类和对应技能整理成键值对结构,确保每个分类只存一次,同分类技能统一存入对应数组
  • 第二步清空原始容器,根据整理好的分类数据,逐个生成标题和列表结构,再插入到容器中

你之前的代码仅尝试替换相邻元素的文本,既无法处理非相邻的同分类项,也没有改变原有DOM结构,所以达不到预期效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 09:55:33