首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将特定文本与页面Url进行比较,然后部分删除文本

将特定文本与页面Url进行比较,然后部分删除文本
EN

Stack Overflow用户
提问于 2022-08-03 16:16:00
回答 2查看 30关注 0票数 0

我有很多活动,每个活动都有发言名单。扬声器角色以ul>li格式显示为每个说话人的自定义分类。我想要做的是改变他们的角色名称,并从他们的标签中删除事件标题部分。我需要这个逻辑来处理所有事件,所以我想我可以检查事件Url,并将它们与标记进行比较,然后从标记中删除事件标题部分。

这就是事件Urls的样子:/ event、/event、/event等等。

根据事件的不同,标签是这样显示的:

代码语言:javascript
运行
复制
<ul>
    <li><span>Event a co-chair</span></li>
    <li><span>Event a speaker</span></li>
    <li><span>Event a committee</span></li>
    <li><span>Event a chair</span></li>
</ul>

或者:

代码语言:javascript
运行
复制
<ul>
    <li><span>Event b co-chair</span></li>
    <li><span>Event b speaker</span></li>
    <li><span>Event b committee</span></li>
    <li><span>Event b chair</span></li>
</ul>

这就是我如何获得Url的最后一个片段的方法,并且我还有一个条件,即检查标记是否与事件Url匹配:

代码语言:javascript
运行
复制
pageUrl = window.location.href.replace(/\/$/, '');
var lastSeg = pageUrl.substr(pageUrl.lastIndexOf('/') + 1);
// loop
$('ul li').each(function () {
    var tagItemName = $(this).children('span').text();
    var tagItem = $(this).children('span').text().replace(/\s+/g, '-').toLowerCase();

    if (tagItem.indexOf(lastSeg) >= 0) {
        $(this).addClass('matching-tag');
    }
});

如何在上述代码中插入“查找和部分删除”逻辑?它能在相同的if语句中吗?我也有tagItemName,它是标签的原始版本,没有破折号和低限制。

我试图实现的是这种格式在所有事件中都有相同的代码:

代码语言:javascript
运行
复制
<ul>
 <li><span>co-chair</span></li>
 <li><span>speaker</span></li>
 <li><span>committee</span></li>
 <li><span>chair</span></li>
</ul>
EN

Stack Overflow用户

发布于 2022-08-04 16:22:50

更新

代码语言:javascript
运行
复制
pageUrl = "www.mysite.com/Event-a"
//window.location.href.replace(/\/$/, '');
let lastSeg = pageUrl.substr(pageUrl.lastIndexOf('/') + 1);

// loop
$('ul li').each(function() {
  let tagItemName = $(this).children('span').text();
  if ($(this).children('span').text()
    .replace(/\s+/g, '-').toLowerCase()
    .indexOf(lastSeg.toLowerCase()) >= 0) {
    $(this).text($(this).children('span').text().toLowerCase()
      .replace(lastSeg.replace('-', ' ').toLowerCase(), '')
      .trim())
    $(this).addClass('matching-tag');
  }
})
代码语言:javascript
运行
复制
.matching-tag {background-color: coral;}
代码语言:javascript
运行
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul>
    <li><span>Event a foo co-chair</span></li>
    <li><span>Event a bar speaker</span></li>
    <li><span>Event a moo committee</span></li>
    <li><span>Event a poo chair</span></li>
</ul>
<ul>
    <li><span>Event b foo co-chair</span></li>
    <li><span>Event b bar speaker</span></li>
    <li><span>Event b moo committee</span></li>
    <li><span>Event b poo chair</span></li>
</ul>

希望这样更好

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73224573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档