0

我知道这已经被问过好几次了,但它对我不起作用。我有这个:

$("td:contains('Hello')").html("Hi");                   
$("td:contains('Hello World')").html("Bye");

我已经这样做了:

$("td:contains('Hello')").filter(function() { 
    return $(this).text() == "Hi";
});

但两者都来了“嗨”。我只希望将具有确切字符串“Hello”的表数据替换为“Hi”。“Hello World”应该替换为“Bye”,但事实并非如此。有人可以帮忙吗?

4

2 回答 2

6

你似乎想要这个:

$("td").filter(function() { 
    return $(this).text() == "Hello";
}).text('Hi');
于 2013-06-04T18:29:03.030 回答
1

contains是一个子字符串匹配。您执行的第一个操作将替换其中包含 ANYWHERE 的任何节点Hello,因此Hello World将被销毁。然后第二行将不匹配任何内容,因为Hello World文档中没有更多节点。

如果您只是颠倒操作顺序:

$("td:contains('Hello World')").html("Bye");
$("td:contains('Hello')").html("Hi");                   

然后它会按预期工作

于 2013-06-04T18:30:30.170 回答