Versio

CSS verkrijgen dmv Javascript

Overzicht Reageren

26/03/2006 21:52:00
Quote Anchor link
Zeg, weten jullie of het mogelijk is om een CSS class van een bepaald object te krijgen?

Dus
var div = getElementById('mijndiv'); //mijndiv staat aan de 'footer' class gekoppelt
document.write(div.class); //print 'footer' op de pagina

Dit werkt in ieder geval niet :S
Gewijzigd op 26/03/2006 21:58:00 door
 
PHP hulp

PHP hulp

24/05/2012 08:21:42
Gesponsorde koppelingen:
 
Jelmer rrrr

Jelmer rrrr

26/03/2006 22:20:00
Quote Anchor link
element.getAttribute('class');
element.className
 
Jan Koehoorn

Jan Koehoorn

26/03/2006 22:53:00
Quote Anchor link
var div = getElementById zal sowieso niet werken denk ik. Altijd minstens:

var div = document.getElementById
 
Jelmer rrrr

Jelmer rrrr

26/03/2006 23:13:00
Quote Anchor link
Nu denk ik ook niet dat document.write gaat werken. document.write werkt alleen in de pagina waneer deze nog gerenderd wordt. document.getElementById vereist een volledig gerenderde pagina. Dus document.write begint weer aan een nieuwe pagina, en verlaat de oude. Niet ideaal.

Probeer eens document.getElementById('debug').innerHTML = document.getElementById('mijndiv').className;

<div id="debug"></div>
 

27/03/2006 00:37:00
Quote Anchor link
Nee klopt allemaal maar ik was te lui om document... en een net voorbeeld uit te werken, maar bedankt iig!

Edit: Werkt niet. Ik probeer hier( http://www.thetriads.be/?act=idx ) alle links met de _blank class de blank target te geven. Dat gaat nu alleen handmatig door aan iedere link een onmouseover script te koppelen, maar het zou handiger zijn als het gewoon makkelijk via één centrale Javascript ging.
Gewijzigd op 27/03/2006 00:42:00 door
 
Jelmer rrrr

Jelmer rrrr

27/03/2006 08:40:00
Quote Anchor link
Dit zou moeten werken. Moet in de head-sectie.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
window.onload = function() {
    var links = document.getElementsByTagName('a');
    for(i = 0; i < links.length; i++)
    {
        if(links[i].getAttribute('class').indexOf('_blank') > -1) {
            links[i].setAttribute('target', '_blank');
        }
    }
}
 

27/03/2006 08:44:00
Quote Anchor link
Is dat setAttribute ook nog ergens speciaal goed voor, want volgens W3Schools kan je ook gewoon anchor.target = '...'; doen.

EDIT: Ik krijg nu dit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
Fout links[i].getAttribute("class") has no properties
Bronbestand http://www.thetriads.be/?act=idx
Regel 90
Gewijzigd op 27/03/2006 08:46:00 door
 
Jelmer rrrr

Jelmer rrrr

27/03/2006 08:48:00
Quote Anchor link
Hmm, je moet inderdaad eigenlijk eerst met links[i].hasAttribute('class') kijken of er wel een class="" in de tag zit...
Gewijzigd op 27/03/2006 08:49:00 door Jelmer rrrr
 

27/03/2006 09:00:00
Quote Anchor link
Vreemd, het wil gewoon niet. :S
Zelf met simpel controleren op rel of rev tags en op die gegevens de target blank maken lukt niet, terwijl het handmatig via een mouseover event wel gaat :S
 
DaeDaluz

DaeDaluz

27/03/2006 10:20:00
Quote Anchor link
Zet anders is als een debug test document.write("<br>test<br>");

In dat stukje script van Jelmer, als dat dan boven de rest van je pagina staat is het probleem duidelijk. Want dan probeer je een element aan te roepen wat nog niet bestaat, en als je het daarna handmatig probeerd met een mouseover event lukt het wel, omdat hij dan wel bestaat.
 

27/03/2006 15:38:00
Quote Anchor link
Of een alert doe ik wel, document.write werkt (gelukkig) in XHTML niet.

Oké. Test resultaten:
i: 0, Target: , Class naam:
i: 1, Target: , Class naam:
i: 2, Target: , Class naam:
i: 3, Target: , Class naam:
etc...
 
DaeDaluz

DaeDaluz

27/03/2006 15:53:00
Quote Anchor link
window.onload gebeurd bij mij voordat ik de content op een pagina zie.

Maar <body onload="load()"> dan wordt load() aangeroepen als de hele body is geladen, en dan zijn dus je elementen zichtbaar.. :)
 



Overzicht Reageren