2009-08-13 2 views
1

У меня есть неупорядоченный список, содержащийЧасти строки, выделенные жирным шрифтом

<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: Regular JavaScript, не JQuery :-)

+1

я не буду просто любопытно: почему нет JQuery? –

+0

Является ли голосующий голос за «нет jQuery»? – rahul

+0

Мой плохой, не читал часть «no jQuery». Сожалею! –

ответ

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; 
} 
Смежные вопросы