Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 更改表格单元格值jquery_Javascript_Jquery_Html - Fatal编程技术网

Javascript 更改表格单元格值jquery

Javascript 更改表格单元格值jquery,javascript,jquery,html,Javascript,Jquery,Html,我需要找到一个包含特定文本值的表格单元格,并将其更改为其他内容 <table><tr> <td>You are nice</td> <td>I hate you</td> </tr></table> 你很好 我恨你 找到包含“我恨你”的表格单元格,并将其更改为“我爱你” 如何在Jquery中实现这一点?使用querySelectorAll(“td”),迭代所有返回的元素并检查textNo

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

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

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

如何在Jquery中实现这一点?

使用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";
    }
}
var-tds=document.querySelectorAll(“td”);
对于(变量i=0;i
一个简单的
包含
选择器应该完成以下操作,然后设置文本值

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

使用
:包含
选择器:

$('td:contains("I hate you")').text('....');
使用
过滤器
方法:

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


你可以看的很好,但注意这也会选择td的包含文本“我恨你们所有人”等等。。。(不完全匹配)@jtheman lol您在问题中使用了包含的术语:)但出于兴趣,这背后的想法是什么?当您希望交换文本值而不是通过id在表单元格上显式匹配时,这里有一种代码味道,例如。。。
$('td').text(function(i, text){
   return text.replace('I hate you', 'I love you!');
});