.remove() 只删除内部 HTML,而不是像我想要的那样删除整个标签

.remove() only removes the innerHTML NOT the entire tag like I want it to

本文关键字:删除 我想要 标签 内部 HTML remove      更新时间:2023-09-26

>我有一个动态创建的列表。 应该能够使用删除按钮从列表中删除项目。 然而,出于某种原因,它似乎只删除了内部 HTML,而不是整个标签 innerHTML 和所有,就像我也想要的那样。 它可能与我正在使用的选择器有关,但我似乎无法弄清楚。

这是代码。

提前感谢!

$('#courses').on('click', '.del', function() {
     var tempIndex = $(this).parentsUntil('li').index();
     reducePlanned(myListInfo[tempIndex-1].credits, myListInfo[tempIndex-1].gpa);
     myListInfo.splice(tempIndex-1,1);
     document.getElementById('hrs_planned').innerHTML = '<b>Hours: '+getStringHrs(planned_hrs)+' GPA: '+toStringGPA(planned_gpa)+'</b>    ';
     document.getElementById('header').innerHTML = 'Total Hours: '+getStringHrs(prev_hrs+planned_hrs)+' GPA: '+toStringGPA(((prev_hrs*    prev_gpa)+(planned_hrs*planned_gpa))/(planned_hrs+prev_hrs));
     $(this).parentsUntil('li').remove();
     return false;
});

如果您希望它删除liparentsUntil()记录的行为是它不会触及li。 你需要:

$(this).parentsUntil('li').parent().remove();

.parentsUntil() 不返回与选择器匹配的元素。

您想改为呼叫.closest()