.remove()只删除innerHTML而不是像我想要的那样删除整个标记

Ema*_*man 4 javascript jquery jquery-selectors

我有一个动态创建的列表.应该可以使用删除按钮删除列表中的项目.然而,出于某种原因,它似乎只是删除innerHTML而不是整个标记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;
});
Run Code Online (Sandbox Code Playgroud)

cha*_*aos 5

如果你期望它删除它li,记录的行为parentsUntil()是它不会触及li.你需要:

$(this).parentsUntil('li').parent().remove();
Run Code Online (Sandbox Code Playgroud)