用不同的图像替换几个不同的文本单词

时间:2014-07-31 20:24:42

标签: jquery

我没有权限更改任何这些网站HTML,我对jQuery知之甚少,但我认为这很有可能。

我有一个包含几个不同用户名的表

<table id="chat">
<td>Tim Burton</td>
<td>Dorethea Rose</td>
<td>Selma Jeerik</td>
</table>

我想在此表中找到每个用户名,并将每个名称更改为我选择的头像。

我看过这个剧本,但对如何修改我的需求一无所知

("*").each(function () { 
   if ($(this).children().length == 0) {
      var newHTML = $(this).html().replace('basketball','<img src = "image.jpg" />');
      $(this).html(newHTML);
   } 
});

2 个答案:

答案 0 :(得分:1)

以下几行中的某些内容可能会这样做:

var name = 'Tim Burton';
$('#chat').find('td').filter(function() { return $(this).text() == name; })
.html( '<img src="url-of-avatar-of-your-choosing.jpg"/>' );

如果您想使用相同的头像并且该表仅包含名称,那么您可能需要使用更简单的代码:

$('#chat 'td').html( '<img src="url-of-avatar-of-your-choosing.jpg"/>' );

但是如果你在数组/对象中有名字和头像,那么你可以遍历名称并使用顶部的代码:

$.each(names,function(i, name) {
    $('#chat').find('td').filter(function() { return $(this).text() == name; })
    .html( '<img src="url-of-avatar-of-your-choosing.jpg"/>' );
});

答案 1 :(得分:1)

试试这个:

$( "#chat" ).html( $( "#chat" ).html().replace('Tim Burton', '<img src="image.jpg" />') );