2

我有这个清单

<ul>
  <li>Unknown word: Text here</li>
</ul>

我怎样才能做到<li><span>Unknown word</span>: Text here</li>?我只想以<li>a开头<span></span>在“ : ”字符之前放置。

4

5 回答 5

3
$('li').html(function(i, h){
    var s = h.split(':');
    return '<span>' + s[0] + '</span>:' + s[1]
})

http://jsfiddle.net/CvB8J/

于 2012-12-12T10:09:19.353 回答
1

你可以这样做:

var arr = $('#theli').text().split(':');
$('#theli').html( $('<span>'+arr[0]+'</span>') ).append(':'+arr[1]);

请参阅工作演示

于 2012-12-12T10:12:04.603 回答
1
$("ul li").each(function() {
 var text = $(this).text().split(":")[0];
 var textNew = "<span>" + text + "</span>";
 $(this).html($(this).text().replace(text, textNew));
});
于 2012-12-12T10:13:14.403 回答
1
var a = $('li').text().split(':');
$('li').html("<span>" + a[0] + "</span>:" + a[1]);
于 2012-12-12T10:16:12.693 回答
0

对于那些喜欢正则表达式的人..

$('li').html($('li').text().replace(/^([^:]*)(.*)/ig, '<span>$1</span>$2'));

http://jsfiddle.net/ygE4C/1/

于 2012-12-12T13:03:06.777 回答