jQuery使用类名找到td并更改文本

时间:2019-03-25 15:40:40

标签: jquery replace find

我正在尝试使用jquery根据其类名查找文本并进行更改。基本上我有这样的结构:

<td class="walletBalance">0.0000 XBT</td>

所以,我正在尝试:

$("tbody").find("tr").each(function() { //get all rows in table
var ratingTd = $(this).find('td.walletBalance’);//Refers to TD element
if (ratingTd.text() == “0.0000 XBT”) {
    ratingTd.text(’changed text’);
}
});

我在做什么错了?

For more understanding html structure

Specifically what value i'm trying to change

PS:我正在使用tampermonkey

    // ==UserScript==
// @name         testingalarm
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://www.hey
// @grant        none
// @require http://code.jquery.com/jquery-latest.js
// ==/UserScript==

(function() {
    'use strict';

    // Your code here...
    $("tbody").find("tr").each(function() {
  var ratingTd = $(this).find('td.walletBalance');
  if (ratingTd.text() == "0.0000 XBT") {
    ratingTd.text('changed text');
  }
});
})();

顺便说一句,此警报正在起作用:

// ==UserScript==
// @name         testingalarm
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://www.some
// @grant        none
// @require http://code.jquery.com/jquery-latest.js
// ==/UserScript==

(function() {
    'use strict';

    // Your code here...
    $(document).ready(function() {
  alert('WINNING');
});
})();

PSS:Manaren回答后

// ==UserScript==
// @name         aaaaa
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        https://www.some
// @grant        none
// @require http://code.jquery.com/jquery-latest.js
// ==/UserScript==

(function() {
    'use strict';

    // Your code here...
    $("tbody tr td.walletBalance").each(
        function(){
            if ($(this).text() == "0.0000 XBT"){
                $(this).text("changed text");
            }
        }
    );
})();

2 个答案:

答案 0 :(得分:0)

问题是因为您使用了无效的单引号和双引号字符。单引号应该是',而不是,双引号应该是",而不是。一旦修复,您的代码就可以正常工作:

$("tbody").find("tr").each(function() {
  var ratingTd = $(this).find('td.walletBalance');
  if (ratingTd.text() == "0.0000 XBT") {
    ratingTd.text('changed text');
  }
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
  <tr>
    <td class="walletBalance">0.0000 XBT</td>
  </tr>
</table>

答案 1 :(得分:0)

我会尝试一下,我已经在浏览器中对其进行了测试,并且可以正常工作。

$("tbody tr td.walletBalance").each(
        function(){
            if ($(this).text() == "0.0000 XBT"){
                $(this).text("changed text"); 
            }
        }
    );

问题:

  • 引号错误

  • Imo太复杂的代码无法完成如此简单的任务

  • 也许与导入有关的一些问题