Div innerHTML probleem

Pagina: 1
Acties:

  • JSchut
  • Registratie: Februari 2002
  • Laatst online: 19:56
Ik heb een menu met daarin een aantal divjes

het menu ziet er nu zo uit:

item 1
item 2
item 3
item 4
item 5

als ik nu het divje tussen 2 en drie vul dan krijg ik:

item1
item2
subitem 1
subitem 2
subitem 3
item 3
item 4
item 5

als ik het divje nu weer leeg maar (div.innerHTML = '') dan krijg ik:

item1
item2

item3
item4
item5

waar die break vandaan komt weet ik niet iemand een idee :?

PSN jschut_82 | Xbox: JSchut82


Verwijderd

Wat geeft alert(div.innerHTML) terug?

  • JSchut
  • Registratie: Februari 2002
  • Laatst online: 19:56
Op donderdag 20 juni 2002 12:18 schreef Gordijnstok het volgende:
Wat geeft alert(div.innerHTML) terug?
geeft een leeg alert scherm terug :'( had ik namelijk al geprobeerd

PSN jschut_82 | Xbox: JSchut82


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

waarom doe je niet gewoon

div.style.display='none' ?

  • RM-rf
  • Registratie: September 2000
  • Laatst online: 23:17

RM-rf

1 2 3 4 5 7 6 8 9

een block-element kent altijd een content (vergelijk dat met TD-tjes die altijd een   moeten hebben)
ook al zet je de innerHTML op "", dan maakt de engine er een lege spatie van en is het element even hoog als de line-height

eventueel kun je vervangen door een 1px gifje, of display op none zetten, of anders displaz:inline ervan maken of height op 1 en overflow op hidden

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


Verwijderd

of via de DOM het element verwijderen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator"
content="HTML Tidy for Mac OS, see www.w3.org" />
<title>DOM scripting</title>
<script type="text/javascript">
function rem()
{
childThree = document.getElementById('submenu')
menuBody = document.getElementsByTagName('div').item(0)
menuBody.removeChild(childThree)
}
</script>

<style type="text/css">
 div.c3 {position:absolute; left:394px; top:43px; width:189px; height:28px; z-index:2}
 div.c2 {position:absolute; left:58px; top:46px; width:179px; height:auto; border: 1px #000000 solid; z-index:1}
 div.c1 {position:relative; width:179px; height:auto;}
</style>
</head>
<body>
<div id="menucool" class="c2">
<div id="Layer1" class="c1">Item 1</div>

<div id="Layer2" class="c1">Item 2</div>

<div id="submenu" class="c1">subitem 1<br />
 subitem 2<br />
 subitem 3</div>

<div id="Layer3" class="c1">Item 3</div>

<div id="Layer4" class="c1">Item 4</div>

<div id="Layer5" class="c1">Item 5</div>
</div>

<div id="Layer7" class="c3"><a href="javascript://"
onclick="rem();">Click to remove Submenu</a></div>
</body>
</html>

  • JSchut
  • Registratie: Februari 2002
  • Laatst online: 19:56
Op donderdag 20 juni 2002 12:33 schreef Bosmonster het volgende:
waarom doe je niet gewoon

div.style.display='none' ?
thnx dees zocht ik

ik gebruikte ook vaak show maar dit werkt ff beter :D

PSN jschut_82 | Xbox: JSchut82

Pagina: 1