Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何删除附加元素?_Javascript_Jquery_Html_Css_Dom Manipulation - Fatal编程技术网

Javascript 如何删除附加元素?

Javascript 如何删除附加元素?,javascript,jquery,html,css,dom-manipulation,Javascript,Jquery,Html,Css,Dom Manipulation,我正在javascriptissexy.com上做一个练习,这个练习是构建一个测验。我试图显示一个基于变量page value的问题,问题存储在array对象中,当单击next按钮时,页面变量递增1,并显示下一个问题及其选项 我想做的是在单击“下一步”按钮后,删除前面附加的问题及其选项。。我该怎么做 function createQuiz(crPage) { textNode = Allquestions[indexController].question; switch (cr

我正在javascriptissexy.com上做一个练习,这个练习是构建一个测验。我试图显示一个基于变量page value的问题,问题存储在array对象中,当单击next按钮时,页面变量递增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]);
    }
}
函数createquick(crPage){
textNode=Allquestions[indexController]。问题;
交换机(crPage){
案例0:
$(“图例”).append(textNode);
附录选项()
打破
案例1:
$(“图例”).append(textNode);
附录选项()
打破
案例2:
$(“图例”).append(textNode);
附录选项()
打破
案例3:
$(“图例”).append(textNode);
附录选项()
打破
案例4:
$(“图例”).append(textNode);
附录选项()
打破
案例5:
$(“图例”).append(textNode);
附录选项()
打破
案例6:
$(“图例”).append(textNode);
附录选项()
打破
违约:
//代码
}
}
函数appendChoices(){
对于(var i=0;i
不确定是否使用jQuery,但是;使用jQuery empty()函数,您可以轻松删除以前添加的问题,如:

$('legend').empty();

您可以在此处找到更多信息:

好的,您每次都可以在
$(“图例”).children()上使用而不是使用
.append()

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

$("legend").children().replaceWith(textNode);
appendChoices()
break;
$("legend").html(textNode);
appendChoices()
break;
它将替换每种情况下的
$(“图例”)
内容

编辑:

或者最好的方法是使用如下方法:

$("legend").children().replaceWith(textNode);
appendChoices()
break;
$("legend").html(textNode);
appendChoices()
break;
注意:


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

这比使用建议的空()而是包装在函数中好吗?所以我可以在每种情况下调用这个函数?像这样的
函数appendQuestion(){$('legend').empty().append(textNode);}
@Jcan这里没有好处,它们只是两种方法,但我认为最好使用
.html()
方法,请参见我的编辑。