首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替换特定类声明中的字符

替换特定类声明中的字符
EN

Stack Overflow用户
提问于 2015-05-06 08:09:14
回答 1查看 79关注 0票数 0

我试图在CuteNews系统中使用同位素,为了使过滤正常工作,我需要在我的每个同位素项目的类声明中打印一些标识符。与同位素的链接

在CuteNews中,我的新闻条目可以有多个类别分配给它们,所以当我在我的HTML中加载它们时,它们可以属于。“家庭”和“食物”同时出现,可以是第1和第5类。在CuteNews中,提取类别并将其抛入HTML中的唯一方法是使用一个函数将所有类别打印为字符串,如果类别为1、2、5和21,则使用" 1,2,5,21“。如果我需要把它作为同位素中的一个类添加,这是没有好处的,因为这会产生

代码语言:javascript
复制
<div class="isotope-item 1,2,5,21">...content...</div>

因此,我需要一些方法将上面的内容(这就是我现在HTML中的结果)转换为

代码语言:javascript
复制
<div class="isotope-item cat1 cat2 cat5 cat21">...content...</div>

通过这种方式,我可以将同位素过滤应用于例如所有类,包括cat1,等等。

在我看来,我需要去掉逗号,这可以很容易地使用像这个jQuery查找和替换字符串这样的JS来完成。但是我不想把整个页面上的所有逗号都替换掉!

我怎样才能只瞄准class=“同位素项目”中的“DIV”,并在每个数字前面加上"cat“,然后用空格替换逗号呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-06 08:39:18

你可以做一个替换,比如

代码语言:javascript
复制
var els = document.getElementsByClassName('isotope-item'),
    el, array;
for (var i = 0; i < els.length; i++) {
    el = els[i];
    el.className = el.className.replace(/(\d+)(,|$|\s)/g, function (all, value) {
        return 'cat' + value + ' '
    })
}

演示:小提琴

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30071009

复制
相关文章

相似问题

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