如何在字符串值之前包装内容?

时间:2011-08-02 17:05:38

标签: javascript jquery string contains

我有一个清单:

<li> key1 : value1 </li>
<li> key2 : value2 </li>

并希望将keys<b>打包在一起。如图所示

<li> <b>key1</b> : value1 </li>
<li> <b>key2</b> : value2 </li>

4 个答案:

答案 0 :(得分:2)

试试这个

var content;
$("li").each(function(){
  content = $(this).text().split(":");
  $(this).html("<b>" + content[0]+" </b>: "+ content[1]);
});

答案 1 :(得分:1)

类似的东西:

$(document).ready(function(){
    $('li').each(function(){
        var text = $(this).text().split(':'); 
        $(this).html('<b>' + text[0] + '</b>:' + text[1]);
    });
});

答案 2 :(得分:1)

其他答案的更简洁版本:

$('li').html(function(i, html) {
    return html.replace(/([^:]+)/, '<b>$1</b>');
});

$("li").html(function(i, html) {
    var content = html.split(":");
    return "<b>" + content[0] +"</b>:"+ content[1];
});

答案 3 :(得分:0)

正则表达式解决方案

$('li').each(function(){
    var el = $(this);
    el.html( el.text().replace(/([^:]+)/,'<b>$1</b>') );
})

演示http://jsfiddle.net/gaby/tjVeR/