我正在尝试将同位素与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;在每个数字前面然后用空格替换逗号?
答案 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