替换特定类声明中的字符

时间:2015-05-06 08:09:15

标签: javascript php html

我正在尝试将同位素与CuteNews系统结合使用,为了使过滤工作,我需要在每个同位素项的类声明中打印一些标识符。 Link to Isotope

在CuteNews中,我的新闻项目可以分配多个类别,因此当我在HTML中加载它们时,它们可能属于例如"国产"和"食物"同时,可以是例如类别号在CuteNews中,我可以将提取的类别提取到我的HTML中的唯一方法是使用一个函数,将所有类别打印为字符串,读取" 1,2,5,21"如果类别是1,2,5和21.现在,如果我需要将它作为同位素类添加,那就不好了,因为这会产生

<div class="isotope-item 1,2,5,21">...content...</div>

所以我需要一些方法来改变上面的内容(这是我现在的HTML中最终的内容)到

<div class="isotope-item cat1 cat2 cat5 cat21">...content...</div>

这样我可以应用同位素过滤,例如所有带cat1的课程等等。

正如我所看到的,我需要删除逗号,这可以使用像jQuery find and replace string这样的JS轻松完成。但我不想替换整个页面上的所有逗号!

我如何只定位类内的内容=&#34;同位素项&#34; DIV并且放了一只猫&#34;在每个数字前面然后用空格替换逗号?

1 个答案:

答案 0 :(得分:1)

您可以进行替换,例如

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 + ' '
    })
}

演示:Fiddle