我有很多活动,每个活动都有发言名单。扬声器角色以ul>li格式显示为每个说话人的自定义分类。我想要做的是改变他们的角色名称,并从他们的标签中删除事件标题部分。我需要这个逻辑来处理所有事件,所以我想我可以检查事件Url,并将它们与标记进行比较,然后从标记中删除事件标题部分。
这就是事件Urls的样子:/ event、/event、/event等等。
根据事件的不同,标签是这样显示的:
<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>或者:
<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匹配:
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,它是标签的原始版本,没有破折号和低限制。
我试图实现的是这种格式在所有事件中都有相同的代码:
<ul>
<li><span>co-chair</span></li>
<li><span>speaker</span></li>
<li><span>committee</span></li>
<li><span>chair</span></li>
</ul>发布于 2022-08-03 19:06:10
是的,你可以用同样的if语句
pageUrl = "www.mysite.com/Event-a"
//window.location.href.replace(/\/$/, '');
var lastSeg = pageUrl.substr(pageUrl.lastIndexOf('/') + 1);
// loop
$('ul li').each(function() {
var 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().replace(/\s+/g, '-'))
$(this).addClass('matching-tag');
}
});.matching-tag {background-color: coral;}<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<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>
<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>
我希望这能帮到你
发布于 2022-08-04 16:22:50
更新
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');
}
}).matching-tag {background-color: coral;}<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>
希望这样更好
https://stackoverflow.com/questions/73224573
复制相似问题