javascript - 按循环内的条件更改 append 的 td

标签 javascript jquery json post append

我正在使用 JavaScript 将行和列 append 到表格中。但我需要根据 `$.post() 响应中的条件将 td 中的类名之一替换为其他内容。

我这样做了:

let arr = ['Hermione', 'Ron', 'Harry']

arr.forEach(d=>{
    $('#the_table>tbody').append(` 
                <tr id='tr_${d}'>
                    <td'>${d}</td>
                    <td><i id='change' class='no'></i></td>
                </tr>
            `);
});

const myfunc = () => {
$.post(api, json_object,
    function(data, status) {
        if (data.value === 'started') {
        setTimeout(myfunc, 5000);
    } else {
        $('#change').removeClass('no').addClass('yes');
        }
}, 'json');
            }
myfunc();

当我这样做时,它只是更改第一个值 (Hermione) 的值。但在 console.log 中,我可以看到 data.valuestarted,因此它应该更改为 yes

一旦条件通过,我可以将每行的它更改为yes

最佳答案

$('#change').removeClass('no').addClass('yes');

您需要修复此选择器 $('#change')

我不知道api返回是否有id

但是你需要像这样选择它

$(`tr#${data.something} #change`)

关于javascript - 按循环内的条件更改 append 的 td,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62143678/

相关文章:

javascript - 在 React 中消除 onChange 事件

Javascript、jQuery.extend 和 "new"

jQuery ajax 调用 httphandler 返回 zip 文件

javascript - 使用 JavaScript 确定/查找 HTML DIV 元素是否为空或未使用

javascript - 为什么不会用node.js设置req.session

Java 1.4 String.replaceAll 单引号问题

java - org.springframework.web.HttpMediaTypeNotAcceptableException Spring MVC 4.2.5

json - Grails-将JSONObject保存到MongoDB时出错

javascript - 在 PHP Heredoc 中扩展 Chart.js 会导致解析错误

javascript - 在 jquery 表中追加行后,工具提示不起作用