[JS] Div #1 aanroepen

Pagina: 1
Acties:

  • mosymuis
  • Registratie: Maart 2002
  • Laatst online: 07-01 19:39
Ik heb van een vriend begrepen dat het in JavaScript mogelijk is om een rij div's als array aan te roepen, en zo de eerste als object te gebruiken zonder naam of ID. Dit zou zoiets zijn als:

HTML:
1
<div>inhoud 1</div><inhoud 2</div>
JavaScript:
1
var veld1=document.getElementById(document.elements[0]);

maar we komen er maar niet uit hoe het werkelijk in elkaar steekt. Als iemand ons in de juiste richting zou kunnen sturen..? :)

  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
JavaScript:
1
2
  var objDiv = document.getElementsByTagName('div')[0];
  var objDiv = document.getElementsByTagName('div').item(0);


en dit topic hoort thuis in /13

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


Verwijderd

parentNode.childNodes[0] bovendien is het geen array maar een collection

[ Voor 57% gewijzigd door Verwijderd op 09-11-2004 12:06 ]


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 12-05 22:23

curry684

left part of the evil twins

Javascript is van de buren van Webdesign & Graphics :)

Professionele website nodig?


Verwijderd

Zoek ook eens naar termen als:
  • .firstChild
  • .lastChild
  • .previousSibling
  • .nextSibling

  • mosymuis
  • Registratie: Maart 2002
  • Laatst online: 07-01 19:39
Bedankt faabman, getElementsByTagName is inderdaad wat we nodig hadden!

Maar nu heb ik nog wel één verzoek, waarvan ik niet weet of het mogelijk is. Kan ik hem ook zo schrijven zonder quotes ' of double quotes " ? Lastig uit te leggen waarom ik dat wil, het komt er op neer dat ik ze niet kan gebruiken.
JavaScript:
1
var veld=document.getElementsByTagName('div')[0];

Als ik de quotes rondom div hier weghaal werkt het niet meer: "div is not defined".

Gordijnstok, hoe gebruik ik die parentNode functie? Ik krijg nu "parentNode is not defined" errors van Mozilla. Als dat zou werken heb ik geen quotes nodig. Blues, ik heb gezocht op je begrippen maar zie niet wat dat met div layers te maken heeft?

Verwijderd

Wat Blues jou voorlegde zijn de basis beginselen. Ik kan jouw wel alles gaan uitleggen mbt parentNode, firstChild en lastChild maar dan ben ik met de functionaliteit die vandaag de dag beschikbaar is, nog wel een uur bezig. Bovendien zijn er echt ontieglijk veel resources te vinden :)

  • mosymuis
  • Registratie: Maart 2002
  • Laatst online: 07-01 19:39
Die vriend van me heeft al veel ervaring met JS, maar ook hij weet niet goed hoe we nodes en childs kunnen toepassen om de eerste div te verkrijgen.

Is het niet mogelijk om, met de getElementsByTagName oplossing, de quotes te vervangen voor iets anders wat hetzelfde werkt? Andere tekens waarmee je JS kan foppen? Of zijn quotes de enige manier om een string op te geven?

Verwijderd

De genoemde getElementsByTagName moet gewoon werken. Ik snap uberhaupt niet waarom je niet met quotes kunt werken. Anders kom je uit op iets alla.

var tag = 'div';
var veld=document.getElementsByTagName(tag)[0];

  • mosymuis
  • Registratie: Maart 2002
  • Laatst online: 07-01 19:39
Snap ik, maar dan gebruik je weer quotes in de regel waar je tag opgeeft. ;)

Verwijderd

mosymuis schreef op 09 november 2004 @ 12:59:
Snap ik, maar dan gebruik je weer quotes in de regel waar je tag opgeeft. ;)
Ja tuurlijk, dat is het principe in Javascript dat je strings (een combinatie van alphanumerieke tekens) omsluit met quotes of singlequotes. Wil je singlequotes of quotes gebruiken binnen deze string dan moet je ze escapen. Doe je dat niet dan krijg je een foutmelding voor je snuffert.

Wat is nu het hele probleem van die quotes uberhaupt?

[ Voor 6% gewijzigd door Verwijderd op 09-11-2004 13:03 ]


  • mosymuis
  • Registratie: Maart 2002
  • Laatst online: 07-01 19:39
Quotes die ik gebruik worden ge-escaped, en ik kan ze zelf niet unescapen. Daarom moet ik een manier vinden om het script te schrijven zonder quotes. Ik begrijp ook dat het principe van strings opslaan op quotes neerkomt, binnen PHP precies hetzelfde, maar ik hoop toch op een alternatieve manier. Zoals je met CSS hacks de browser voor de gek kunt houden moet dat binnen JS toch ook kunnen?

Verwijderd

Waarom ga je Javascript code escapen dan?

  • mosymuis
  • Registratie: Maart 2002
  • Laatst online: 07-01 19:39
Dat gebeurt binnen PHP.

Verwijderd

:? :D .. is het wellicht een idee om dat niet te doen? :)

Verwijderd

HTML:
1
2
3
4
5
6
7
<div id="div1">
    <div id="div1-1">A</div>
    <div id="div1-2">A</div>
    <div id="div1-3">A</div>
    <div id="div1-4">A</div>
    <div id="div1-5">A</div>
</div>

JavaScript:
1
2
3
4
5
6
7
8
var o = document.getElementById('div1-3');

var o2 = o.parentNode; // div1
var o3 = o2.firstChild; // div1-1
var o4 = o2.lastChild; // div1-5

var o5 = o.previousSibling; // div1-2
var o6 = o.nextSibling; // div1-4

Duidelijk?

  • mosymuis
  • Registratie: Maart 2002
  • Laatst online: 07-01 19:39
Bedankt, duidelijk! :) Je gebruikt ze dus om op basis van een gegeven object de boven- of naastliggende objecten te benaderen.

Nu zoek ik dus nog wel een manier om een div object aan te roepen, zonder quotes te gebruiken. Zonder naar de tag of id te verwijzen dus, omdat je er daarbij niet onder uit komt. Is er geen methode waarbij je alle pagina objecten direct kan aanroepen? Dan zou ik die kunnen tellen, om vervolgens het element aan te wijzen met een nummer.

  • Thijsmans
  • Registratie: Juli 2001
  • Laatst online: 17:45

Thijsmans

⭐⭐⭐⭐⭐ (5/5)

het kan _NIET_, wat begrijp je daar niet aan :? PHP gebruikt bij constanten, mits niet gedefinieerd, ipv CONSTANTE 'CONSTANTE'. Javascript doet dit echter niet. En je redenatie 'CSS kan 1337 h4x0rs1ll5, dus javascript ook' raakt ook kant nog wal.

Privacy-adepten vinden op AVGtekst.nl de Nederlandse AVG-tekst voorzien van uitspraken en besluiten.


  • SuperRembo
  • Registratie: Juni 2000
  • Laatst online: 20-08-2025
Het kan wel :P
JavaScript:
1
var s = String.fromCharCode(65,66,67);

| Toen / Nu


  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Waarom zou je in PHP niet kunnen escapen?
PHP:
1
echo '<script type="text/javascript">var s = \'somestring\';</script>';


en anders heb je altijd nog str_replace e.d.

[ Voor 16% gewijzigd door crisp op 09-11-2004 18:28 ]

Intentionally left blank


  • mosymuis
  • Registratie: Maart 2002
  • Laatst online: 07-01 19:39
SuperRembo schreef op 09 november 2004 @ 18:19:
Het kan wel :P
JavaScript:
1
var s = String.fromCharCode(65,66,67);
kijk, zoiets zocht ik! :D

Ik heb zojuist ook nog een andere mogelijkheid gevonden; je string meegeven aan het url.
JavaScript:
1
var s = location.href.substr(location.href.length-3,3);
en dan aanroepen met pagina.html?x=div

Bedankt allemaal.
Pagina: 1