更改字符串中的文本样式

时间:2013-05-17 13:00:35

标签: jquery css replace

我遵循HTML标记:

<td>Akshay Hulyalkar</td>

我想在上面的HTML标记中更改'Aks'的样式,如下所示。

<td><span style="font-weight:bold;color:#808080">Aks</span>hay Hulyalkar</td>

我尝试过如下。

      text = $('td').html();
      text = text.replace(chars, '<span style="font-weight:bold;color:#808080">'+chars+'</span>');
      $(this).html(text);

但它并没有取代原来的那个。我正在做的事情是否正确?。

5 个答案:

答案 0 :(得分:4)

TD不应该在桌子之外,但我假设你只发布相关代码。以下是我如何使用它:

演示:http://jsfiddle.net/tymeJV/e5Rtr/

var text = $("td").text();
var chars = "Aks";
console.log(text);

text = text.replace(chars, '<span style="font-weight:bold; color:#808080;">'+chars+'</span>');

$("td").html(text);

答案 1 :(得分:3)

你可以这样做:

$('td').html(function (_, html) {
    return html.replace(/(Aks)/, '<span style="font-weight:bold;color:#808080">$1</span>');
});

FIDDLE DEMO

答案 2 :(得分:1)

在这种情况下$(this)指的是什么?你想不想这样做吗?

text = $('td').html();
text = text.replace(chars, '<span style="font-weight:bold;color:#808080">'+chars+'</span>');
$('td').html(text);

答案 3 :(得分:1)

这是一种简单的方法:

var spanText = $('td');
var chars = "Aks";
spanText.html(spanText.text().replace(chars, '<span>'+chars+'</span>'));

DEMO

我认为这是您正在寻找的内容,但您并未在示例中声明chars

答案 4 :(得分:0)

尝试

$("td").css('color','#808080');
$("td").css('font-weight','bold');

根据您的代码尝试

text = $('td').text(); //retrive the text
text = text.replace(chars, '<span style="font-weight:bold;color:#808080">'+chars+'</span>');
$('td').html(text);   //put it as like html