粗体文本中的部分字符串

时间:2009-08-13 06:55:11

标签: javascript

我有一个包含

的无序列表
<ul id="strip">
     <li><a href="#"><span>This-is a test string</span></a></li>
    <li><a href="#"><span>This is without</span></a></li>
     <li><a href="#"><span>New-test</span></a></li>
</ul>

我需要在“ - ”之前加粗文字,所以在第一个<li>“这个”是粗体。

我陷入了循环,我应该找到“ - ”。

NB:常规JavaScript,没有JQuery: - )

1 个答案:

答案 0 :(得分:4)

使用stringObject.replace(findstring,newstring)方法 在您的情况下liString.replace(/\b(.*?-.*?)\b/,"<strong>$1</strong>")
完整的解决方案:

var lists = document.getElementsByTagName("li");
var listsL = lists.length;

for (var i = 0; i < listsL; ++i){
   liString = lists[i].innerHTML;
   liString = liString.replace(/\b([^-]*-[^\b]*?)\b/,"<strong>$1</strong>");
   lists[i].innerHTML = liString;
}