2

我需要找到一个包含特定文本值的表格单元格并将其更改为其他内容。

    <table><tr>
<td>You are nice</td>
<td>I hate you</td>
</tr></table>

找到包含“我恨你”的表格单元格并将其更改为“我爱你”。

我如何在 Jquery 中做到这一点?

4

3 回答 3

4

使用:contains选择器:

$('td:contains("I hate you")').text('....');

使用filter方法:

$('td').filter(function(){
   // contains
   return $(this).text().indexOf("I hate you") > -1;
   // exact match
   // return $(this).text() === "I hate you";
}).text('...');

或者:

$('td').text(function(i, text){
   return text.replace('I hate you', 'I love you!');
});
于 2013-02-07T23:39:08.620 回答
2

一个简单的contains选择器应该可以解决问题,然后设置文本值

$("td:contains('I hate you')").text('I love you');

包含选择器参考

于 2013-02-07T23:38:54.720 回答
0

使用 querySelectorAll("td"),遍历所有返回的元素并检查 textNode 的值。

var tds = document.querySelectorAll("td");
for (var i = 0; i < tds.length; i++) {
    if (tds[i].firstChild.nodeValue == "I hate you"){
        tds[i].firstChild.nodeValue = "I love you";
    }
}
于 2013-02-07T23:36:29.063 回答