我正在使用 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.value
未 started
,因此它应该更改为 yes
。
一旦条件通过,我可以将每行的它更改为yes
最佳答案
$('#change').removeClass('no').addClass('yes');
您需要修复此选择器 $('#change')
我不知道api返回是否有id
但是你需要像这样选择它
$(`tr#${data.something} #change`)
关于javascript - 按循环内的条件更改 append 的 td,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62143678/