脚本将rel
属性替换为class
。
完整代码 - http://jsbin.com/efozi3/8/
对于rel
中使用了2个以上值的链接,它不起作用。
一个例子 - 第一项:
<a class="s1" rel="t1 t2 t3" href="#">One</a>
前三个 <li>
应该变为蓝色,但现在只有第一个。
<li class="t1">
<strong>1</strong>
</li>
<li class="t2">
<strong>2</strong>
</li>
<li class="t3">
<strong>3</strong>
</li>
此行无法按预期工作(支持rel
中的最多2个值):
return $('.' + elem.rel.replace(' ', ', .'));
您可以直接在http://jsbin.com/efozi3/8/edit/
上修改代码感谢。
答案 0 :(得分:5)
信不信由你,Javascript的replace
函数只替换第一次出现的搜索文本。
要替换每个匹配项,您需要使用带有g
( G lobal)标记的正则表达式。
将其更改为
return $('.' + elem.rel.replace(/\s+/g, ', .'));