我知道这已被问过几次,但它对我不起作用。我有这个:
$("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”,但事实并非如此。有人可以帮忙吗?
答案 0 :(得分:5)
你似乎想要这个:
$("td").filter(function() {
return $(this).text() == "Hello";
}).text('Hi');
答案 1 :(得分:1)
contains
是一个子字符串匹配。您执行的第一个操作将替换任何地方都有Hello
的 ANY 节点,因此Hello World
将被销毁。然后第二行将不匹配任何内容,因为文档中不再有Hello World
个节点。
如果您只是颠倒操作顺序:
$("td:contains('Hello World')").html("Bye");
$("td:contains('Hello')").html("Hi");
然后它按预期工作