2014-01-16 23 views
-1
jQuery(".cms-outdoor-furniture-covers .col-main a").each(function (i, html) { 
    return html.replace(" >", "<span class=\"no-underline\">$&</span>"); 
}); 

我试图找出如何用替换超链接的所有" >""<span class="no-underline"> ></span>"裹2个符号在跨度标签的所有超链接

标记:

<div class="cms-outdoor-furniture-covers"> 
    <div class="col-main"> 
     <a href="#"> random text ending with ></a> 
    </div> 
</div> 

目标我想实现是 - 为随机字符串保留下划线,但在范围中换行结尾 - “>”以从中删除下划线。

<div class="cms-outdoor-furniture-covers"> 
    <div class="col-main"> 
     <a href="#"> random text ending with<span class="no-underline"> ></span></a> 
    </div> 
</div> 
+0

,请把你的html和你想要的HTML的输出。 –

回答

1

你的意思办:

jQuery(".cms-outdoor-furniture-covers .col-main a").each(function (i, val) { 
    var html = jQuery(this).html(); 
    if(html.search(' &gt;') > -1) { 
     jQuery(this).html("<span class='no-underline'>" + html.replace(" &gt;", "") + "</span>" + " >"); 
    } 
}); 

和CSS:

a { text-decoration: none } 
.no-underline {text-decoration:underline;} 

您需要完全移除链接下划线(缩小CSS只影响那些链接如果你想的话),然后添加一个类到你想要加下划线的文本。

这里的演示:http://jsfiddle.net/qz5R8/2/

+0

这不起作用 – bazinga

+0

@bazinga你的html标记是什么,应该是什么结果请更新。 –

+0

查看上面,编辑:http://jsfiddle.net/qz5R8/ – roobeedeedada

0

只是包装了一个标签:

$('.cms-outdoor-furniture-covers .col-main a') 
.wrap("<span class='no-underline'></span>"); 
+0

我认为OP想要包装文本而不是标签。 –