【发布时间】:2020-09-20 10:19:26
【问题描述】:
我正在使用 javascript 将行和列附加到表中。但是我需要 td 中的一个类名,基于 `$.post() 响应中的条件。
我这样做了:
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
【问题讨论】:
-
您有多个元素具有相同的
id值,这是不允许的。您需要找出一种区分它们的方法(您可以使用.forEach中的索引,但您还需要从您的.post调用中返回一个索引)
标签: javascript jquery json post append