当单击按钮时,我的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/
您没有清除阵列。emailAddresses = []; 它工作正常http://jsfiddle.net/zdeahcqc/5/
function testResults (form) {
emailAddresses = [];
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句