繁体   English   中英

如何删除附加元素?

[英]How can i remove an appended element?

我正在javascriptissexy.com进行练习,练习是建立测验者。 我试图显示一个基于变量页面值的问题,问题存储在数组对象中,当单击下一步按钮时,页面变量将增加1,并显示下一个问题及其选择。

我想做的是单击下一个按钮后,删除上一个附加的问题及其选择..我该怎么做?

function createQuiz(crPage) {
    textNode = Allquestions[indexController].question;
    switch (crPage) {
        case 0:
            $("legend").append(textNode);
            appendChoices()
            break;
        case 1:
            $("legend").append(textNode);
            appendChoices()
            break;
        case 2:
            $("legend").append(textNode);
            appendChoices()
            break;
        case 3:
            $("legend").append(textNode);
            appendChoices()
            break;
        case 4:
            $("legend").append(textNode);
            appendChoices()
            break;
        case 5:
            $("legend").append(textNode);
            appendChoices()
            break;
        case 6:
            $("legend").append(textNode);
            appendChoices()
            break;

        default:
            // code

    }
}


function appendChoices() {
    for (var i = 0; i < Allquestions[indexController].choices.length; i++) {
            console.log(Allquestions[indexController].choices[i]);
    }
}

好吧,不是每次都使用.append() ,而是可以在$("legend").children()使用.replaceWith() $("legend").children()

例如,每种情况下的代码将如下所示:

$("legend").children().replaceWith(textNode);
appendChoices()
break;

在每种情况下,它将替换$("legend")内容。

编辑:

或最好的方法是使用.html()方法,如下所示:

$("legend").html(textNode);
appendChoices()
break;

注意:

我看到您通过使用相同的语句在每种情况下都做相同的事情, switch块的目的是什么?

不确定是否使用jQuery,但是; 使用jQuery empty()函数,您可以轻松删除以前添加的问题,例如:

$('legend').empty();

您可以在此处找到更多信息: jQuery API empty()函数

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM