jQuery替换不起作用

Hap*_*ppy 0 jquery replace

脚本将rel属性替换为class.

完整代码 - http://jsbin.com/efozi3/8/

它不适用于使用超过2个值的链接rel.

一个例子 - 第一项:

<a class="s1" rel="t1 t2 t3" href="#">One</a>
Run Code Online (Sandbox Code Playgroud)

前三个 <li> 应该变成蓝色,但现在只有第一个变成蓝色.

 <li class="t1">
     <strong>1</strong>
 </li>
 <li class="t2">
      <strong>2</strong>
 </li>
 <li class="t3">
      <strong>3</strong>
 </li>
Run Code Online (Sandbox Code Playgroud)

此行无法按预期工作(支持最多2个值rel):

return $('.' + elem.rel.replace(' ', ', .'));
Run Code Online (Sandbox Code Playgroud)

您可以直接在http://jsbin.com/efozi3/8/edit/上编辑代码

谢谢.

SLa*_*aks 5

信不信由你,Javascript的replace功能只替换搜索文本的第一次出现.
要替换每个事件,您需要传递带有g(G lobal)标志的正则表达式.

将其更改为

return $('.' + elem.rel.replace(/\s+/g, ', .'));
Run Code Online (Sandbox Code Playgroud)