javascript - 为什么它不清除我的 div? (Javascript 和 Jquery)

标签 javascript jquery html

当单击按钮时,我的 testResults() 函数被触发。它按其应有的方式创建 div。我希望每次单击按钮时都会清除#parent div。但它只在您第一次单击时才会执行。第二次单击 #parent 时,div 不会被清除,只是会附加新的 div

这是我的代码:

// DECLARATIONS
var searchActive = false,          
    emailAddresses = [],
    firstName,
    lastName,
    domainName;

// MAIN FUNCTION

function testResults (form) {
    // TRYING TO DELETE INNERHTML EVERYTIME SOMEONE CLICKS

    // VARIANT 1 --> NOT WORKING
    document.getElementById("parent").innerHTML = "";

    // VARIANT 2 --> NOT WORKING
    $( "#parent" ).html("");

    // VARIANT 3 --> NOT WORKING ASWELL
    var div = document.getElementById('parent');
    while(div.firstChild){
        div.removeChild(div.firstChild);
    }

    // CHECK IF ALL FIELDS ARE FILLED IN (INCOMPLETE)
    if (!form.firstName.value) {
        alert("Bitte fülle alle Felder aus!");
    }
    if (! form.lastName.value) {
        alert("Bitte fülle alle Felder aus!");
    }
    if (! form.domainName.value) {
        alert("Bitte fülle alle Felder aus!");
    }

    // SAVE VALUES FROM THE FIELDS
    firstName = form.firstName.value;
    lastName = form.lastName.value;
    domainName = form.domainName.value;

    // STRING MODIFICATIONS
    firstName = firstName.toLowerCase();
    firstName = firstName.replace(/ä/g,"ae").replace(/ö/g,"oe").replace(/ü/g,"ue");

    lastName = lastName.toLowerCase();  
    lastName = lastName.replace(/ä/g,"ae").replace(/ö/g,"oe").replace(/ü/g,"ue").replace(/ß/g,"ss");


    // ADD ADDRESSES TO ARRAY
    emailAddresses.push(firstName + "." + lastName + "@" + domainName);
    emailAddresses.push(firstName + "@" + domainName);


    // ITERATE OVER ARRAY, CREATE A DIV FOR EACH EMAILADDRESS
    for (i = 0; i < emailAddresses.length; i++) { 
        $( "#parent" ).append( "<div class='alert alert-info'>" + emailAddresses[i] + "</div>");
    }

}

即使我尝试了 3 种不同的变体,为什么它没有清​​除#parent div?控制台也是空的。

jsfiddle链接:http://jsfiddle.net/zdeahcqc/

最佳答案

您没有清除数组。电子邮件地址 = [];工作正常http://jsfiddle.net/zdeahcqc/5/

        function testResults (form) {
 emailAddresses = [];

关于javascript - 为什么它不清除我的 div? (Javascript 和 Jquery),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25807601/

相关文章:

html - 使用 float : left 的意外行为

Javascript ENUM 模式命名约定

javascript - angular chart.js 的数据属性中的表达式

javascript - 没有获得正确的图像宽度

php - 如何在 HTML 表单中输入文本后显示按钮?

html - 如何在 CSS 中制作动态背景 div?

javascript - jQuery 验证插件仅适用于最后显示的 div

javascript - jQuery 添加/删除文本框

javascript - 当元素滚动到屏幕顶部附近时触发的监听器?

javascript - 替换 ul 列表子元素