0

我有以下 HTML 标签:

<td>Akshay Hulyalkar</td>

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

<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);

但它并没有取代原来的那个。我在做什么是正确的吗?

4

5 回答 5

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);
于 2013-05-17T13:07:43.993 回答
3

你可以简单地这样做:

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

小提琴演示

于 2013-05-17T13:20:17.910 回答
1

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

text = $('td').html();
text = text.replace(chars, '<span style="font-weight:bold;color:#808080">'+chars+'</span>');
$('td').html(text);
于 2013-05-17T13:06:22.210 回答
1

这是一个简单的方法来做到这一点:

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

演示

我认为这就是您要寻找的东西,但是您从未chars在示例中声明过。

于 2013-05-17T13:15:50.760 回答
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
于 2013-05-17T13:02:24.380 回答