我很想首先说我还不是 JQuery 方面的专家,而且我知道我在这里做错了什么。
问题是,当我从元素中删除子元素时,它只会清空子元素并将其挂在父节点中:
编码:
function DeleteAttributeFromNr(id) {
$("#tbodyAttributes").children("#row-" + id).remove();
CheckAttributes();
}
function CheckAttributes() {
if ($("#tbodyAttributes tr").length <= 1) {
$("#tbAttributes tbody").append('<tr><td colspan="3" id="tdEmptyBody">You have no attributes assigned to this number yet.</td></tr>');
} else if ($("#tdEmptyBody").length == 1) {
$("#tdEmptyBody").remove();
}
}
几次删除后的结果"#tbodyAttributes tr"
<tbody id="tbodyAttributes">
<tr></tr>
<tr></tr>
</tbody>
正如您可能注意到的,这对于我在 CheckAttributes 中的逻辑代码来说是一个公平的错误。<tr>
有没有其他方法可以整体去除?
我试过了:
$("#tbodyAttributes").removeChild("#row-" + id); //Very surprised this did not exist
$("#tbodyAttributes").children("#row-" + id).remove();
$("#tbodyAttributes").find("#row-" + id).remove();
$("#row-" + id).remove();
$("#row-" + id).empty(); //desperation run, I knew this one would not work since I use it a lot to clear out tables
我知道这很明显。我确实侦察了whackystacky,但没有找到答案(我能找到)