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

基于列表项slug属性自动生成带主链接前缀的链接实现问题

基于列表项slug属性自动生成带主链接前缀的链接实现问题

嘿,这个需求很容易搞定!你想要的是把每个带jstree类的列表项里的<a>标签,自动或者通过点击按钮替换成「主链接前缀 + slug属性值」的完整URL,同时清理掉列表项上多余的slug和src属性对吧?我给你写个具体的实现方案:

第一步:调整HTML结构(可选添加触发按钮)

如果需要点击按钮生成链接,先给页面加个按钮;如果想页面加载完成就自动生成,这步可以跳过按钮部分:

<!-- 可选:点击触发的按钮 -->
<button id="generateLinksBtn">生成完整链接</button>

<ul class="linktree">
  <li class="jstree" slug="link-1.html" src="1"><a href="#">Link Text 1</a></li>
  <li class="jstree" slug="link-2.html" src="1"><a href="#">Link Text 2</a></li>
  <li class="jstree" slug="link-3.html" src="1"><a href="#">Link Text 3</a></li>
</ul>

第二步:编写JavaScript逻辑

下面的代码既支持页面加载自动执行,也支持点击按钮触发,你可以根据需求灵活选择:

// 定义你的主链接前缀
const masterLink = 'http://google.com';

// 封装生成完整链接的核心函数
function generateFullLinks() {
  // 获取所有带有jstree类的列表项
  const treeItems = document.querySelectorAll('.jstree');
  
  // 遍历每个列表项处理链接
  treeItems.forEach(item => {
    // 取出当前项的slug属性值
    const slug = item.getAttribute('slug');
    if (!slug) return; // 如果没有slug属性,直接跳过
    
    // 拼接完整的链接地址
    const fullLink = `${masterLink}/${slug}`;
    
    // 找到列表项里的a标签,设置它的href属性
    const linkElement = item.querySelector('a');
    if (linkElement) {
      linkElement.href = fullLink;
    }
    
    // 移除列表项上不需要的slug和src属性
    item.removeAttribute('slug');
    item.removeAttribute('src');
  });
}

// 方式1:页面加载完成后自动生成链接
document.addEventListener('DOMContentLoaded', generateFullLinks);

// 方式2:点击按钮时生成链接(如果添加了按钮的话)
const generateBtn = document.getElementById('generateLinksBtn');
if (generateBtn) {
  generateBtn.addEventListener('click', generateFullLinks);
}

效果说明

执行这段代码后,你的列表就会变成你想要的样子:

<ul class="linktree">
  <li class="jstree"><a href="http://google.com/link-1.html">Link Text 1</a></li>
  <li class="jstree"><a href="http://google.com/link-2.html">Link Text 2</a></li>
  <li class="jstree"><a href="http://google.com/link-3.html">Link Text 3</a></li>
</ul>

你可以根据自己的需求,选择只保留自动执行或者点击触发的逻辑,两种方式可以单独使用也可以同时存在哦~

备注:内容来源于stack exchange,提问作者Ale Benitez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 11:09:50