PDA

Volledige versie bekijken : 2 divs verwijderen met javascript


cyrano
%Europe/Berlin %902 %2009, 22:40
ik was vandaag aan het stoeien met javascript maar nu loop ik toch wel vast.
het is me gelukt om 2 divs te creeren door gewoon 2 keer hetzelfde te doen met de functie createDiv.
maar het verwijderen ervan gaat wat moeilijker, dat wil ik namelijk doen met een onClick op
div1, maar tot nu toe lukt het me niet om div1 en div2 mee te nemen naar functie removeWho.

ik zal er direct maar even bij zeggen dat m,n kennis van javascript miniem is,
en dus tot zover alleen de script redelijk begrijp maar wat het precies betekent weet ik niet. :#



<script type="text/javascript">
function createDiv()
{
var divTagg = document.createElement("div");
divTagg.id = "div2";
divTagg.className ="overlay";
divTagg.setAttribute("onClick", "removeWho('div1');");
document.body.appendChild(divTagg);

var divTag = document.createElement("div");
divTag.id = "div1";
divTag.className ="dynamicDiv";
divTag.innerHTML = "This HTML Div tag is created using Javascript DOM dynamically.";
document.body.appendChild(divTag);
}


function removeWho(who) {
if(typeof who== 'string') who=document.getElementById(who);
if(who && who.parentNode)who.parentNode.removeChild(who);
}
</script>

hereWeGo
%Europe/Berlin %974 %2009, 00:22
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<title></title>
<script>
function deleteElement(obj) {
var elObj = document.getElementById(obj);
document.body.removeChild(elObj);
}
</script>
</head>
<body>
<div id="blabla" onclick="deleteElement(this.id)">je divje</div>
</body>
</html>

Niet getest, maar zou wel moeten werken

cyrano
%Europe/Berlin %359 %2009, 09:37
ja deze functie werkt perfect in firefox maar alleen function createDiv() werkt in IE7.
function deleteElement werkt alleen met het bestaande div element in IE7.

Ik hoop dat deze Demo (http://jwpost.nl/test.html) meer uitlegt.

ik heb de funtie alleen veranderd voor 2 divs.


<script>
function deleteElement(obj, obj2) {
var elObj = document.getElementById(obj);
document.body.removeChild(elObj);

var elObj2 = document.getElementById(obj2);
document.body.removeChild(elObj2);
}
</script>
</head>
<body>
<div id="blabla" onclick="deleteElement(this.id, 'div1');">je divje</div>

mcDavid
%Europe/Berlin %667 %2009, 17:00
dit zou ook moeten werken:
function deleteElement() {
document.body.removeChild(divTagg);
document.body.removeChild(divTag);
}

-edit-
mits je divTagg en divTag buiten de scope van een functie defineert, dus vooraan je script moet dan nog "var divTag; var divTagg;" ofzo.

hereWeGo
%Europe/Berlin %679 %2009, 17:18
precies hetzelfde dus?