![]() |
Tja
Sitter och grejjer med javascript och har stött på ett simpelt problem som jag inte lyckas komma runt. Såhär ser koden ut: Kod:
<script> Kod:
document.getElementById('nr1').style.display='none'; Tacksam för hjälp! |
med jquery kan detta fixas snabbt och lätt.
$(".hiddendiv").hide(); // för att gömma alla med klassen "hiddendiv" $("div2').show(); // för att visa just div2 <div id="div1" class="hiddendiv">Text 1...</div> <div id="div2" class="hiddendiv">Text 2...</div> <div id="div3" class="hiddendiv">Text 3...</div> <div id="div4" class="hiddendiv">Text 4...</div> <div id="div5" class="hiddendiv">Text 5...</div> kolla på jQuerys hemsida för dokumentation. edit: för att göra exemplet lite mer levande: <script type="text/javascript"> $(function() { $(".hiddendiv").hide(); // för att gömma alla med klassen "hiddendiv" $("h3").click(function(){ $(".hiddendiv").hide(); $(this).next().show(); }); }); </script> <h3 id="hdiv1">Div 1</h3> <div id="div1" class="hiddendiv">Text 1...</div> <h3 id="hdiv2">Div 2</h3> <div id="div2" class="hiddendiv">Text 2...</div> <h3 id="hdiv3">Div 3</h3> <div id="div3" class="hiddendiv">Text 3...</div> <h3 id="hdiv4">Div 4</h3> <div id="div4" class="hiddendiv">Text 4...</div> <h3 id="hdiv5">Div 5</h3> <div id="div5" class="hiddendiv">Text 5...</div> |
Tack så mycket! Ska bli kul att använda jquery :P
|
Citat:
|
Ingen som hört talas om DOM?? Att tynga ner sidan med så mycket repetitiv kod och dessutom med så många class:er och id:ar är ju egentligen inte alls nödvändigt…
Kod:
<div id="hiddendivs"> Kod:
document.getElementById('hiddendivs').childNodes[]; Det finns ju massa bra funktioner för att få tag på vad man behöver i dokumentstrukturen, get ElementByNames(), .firstChild, .lastChild, .nextSibling, .parentNode osv. Man kan navigera runt i dokumentstrukturen hur fint som helst utan att sätta id på allting! Glöm inte: ditt html-dokument är ett objekt, inte en hög taggar! Edit: Detta gäller förstås lika mycket för css Kod:
div#hiddendivs>div {display: none} |
Citat:
Kod:
document.getElementById('hiddendivs').childNodes[]; Alltså, när du loopar igenom dom så kontrollera att Kod:
element.nodeType==1 Annars får du krasch. |
Det räcker ju med använda språket... Om man gör väldigt få, små, grejer med javascript så behöver man knappast använda saker som jquery edy. (JQuery är bra i många fall) Dessutom bör man returnera false i nedanstående fall för att inte historyn i webbläsaren ska lägga onödiga grejer.
Kod:
<script> |
Alla tider är GMT +2. Klockan är nu 21:36. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson