[document.body.getElementsByTagName] werkt niet

Pagina: 1
Acties:

  • GC-Martijn
  • Registratie: September 2004
  • Laatst online: 09-12-2018
Ik wil heel simpel alle body elementen benaderen.

Maar hij blijft al hangen met deze regel document.body.getElementsByTagName('*');
De error: document.body is leeg of geen object

Terwijl ik de functie pas aanroep na de onload.

Wat is er aan de hand of beter hoe kan ik dit oplossen ?

-------------------------------------------------------
externscript.js
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script>
function MakeIds(){
var doc = document.body.getElementsByTagName('*');

//var str = '';
//for(var i=0;i<doc.length;i++){
//  str += "<b>Type:</b>" + doc[i].tagName + "&nbsp&nbsp";
//  str += "<b>Type:</b>" + doc[i].index + "&nbsp&nbsp";
//  str += "<b>Name:</b>" + doc[i].name + "&nbsp;&nbsp;";
//  str += "<b>Value:</b><i>" + doc[i].value + "</i>&nbsp;&nbsp;";
//  str += "<BR>";
//}
}
document.onLoad = MakeIds();
</script>

-------------------------------------------------------
pagina.html
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript1.2" type="text/javascript" src="http://www.eendomein.nl/externscript.js"></script>
</head>

<body bgcolor="#CCCCFF">
<p>top frame </p>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr valign="middle" align="center"> 
    <td bgcolor="#0000CC"><b>1</b></td>
  </tr>
</table>
<p>&nbsp;</p>
<table width="500" border="0" cellspacing="0" cellpadding="0">
  <tr valign="middle" align="center"> 
    <td bgcolor="#0000CC"><b>1</b></td>
  </tr>
</table>
<p>&nbsp;</p>
<p>&nbsp; </p>
</body>
</html>

// - bla la


  • dominic
  • Registratie: Juli 2000
  • Laatst online: 27-11 20:08

dominic

will code for food

document.getElementsByTagName is niet echt de meest voor de hand liggende functie die je kunt gebruiken, bovendien lijkt het me vrij zinloos om ALLE nodes in één keer op te roepen met * aangezien je dan ook gewoon het documents object zelf kan benaderen.

Het body object benaderen doe je altijd zo:
code:
1
var obj = document.body;


Vervolgens kun je ermee doen wat je wil. Waarom leg je niet even uit wat je precies wil?

[ Voor 5% gewijzigd door dominic op 26-01-2007 17:08 ]

Download my music on SoundCloud


  • BHR
  • Registratie: Februari 2002
  • Laatst online: 01-12 19:42

BHR

Je externscript.js inhoud is niet goed.

1) Laat in de js file altijd de <script> en </script> weg
2) Een functie aan de document.onload toekennen moet zo:
JavaScript:
1
document.onload=mijn_functie;
ipv
JavaScript:
1
document.onload=mijn_functie();
Het 2de voorbeeld voert namelijk onmiddellijk de functie mijn_functie uit en geeft document.onload de returnwaarde van deze functie. Dit is soms handig, maar niet wat je nu wilt doen. Het 1ste voorbeeld gebruiken dus :)

No amount of key presses will shut off the Random Bug Generator


  • GC-Martijn
  • Registratie: September 2004
  • Laatst online: 09-12-2018
BHR schreef op vrijdag 26 januari 2007 @ 17:16:
Je externscript.js inhoud is niet goed.

1) Laat in de js file altijd de <script> en </script> weg
2) Een functie aan de document.onload toekennen moet zo:
JavaScript:
1
document.onload=mijn_functie;
ipv
JavaScript:
1
document.onload=mijn_functie();
Het 2de voorbeeld voert namelijk onmiddellijk de functie mijn_functie uit en geeft document.onload de returnwaarde van deze functie. Dit is soms handig, maar niet wat je nu wilt doen. Het 1ste voorbeeld gebruiken dus :)
Hey daar zit het probleem.

nu heb ik

function MakeIds(){
alert('test');
}

document.onload = MakeIds;

maar er gebeurt niks
ook heb ik dit getest en werkt ook niet

var origOL = document.onLoad;
document.onload = MakeIds;

// - bla la


  • user109731
  • Registratie: Maart 2004
  • Niet online
JavaScript:
1
2
3
4
function MakeIds(){
  alert('test');
}
window.onload = MakeIds;

Should work...

  • BHR
  • Registratie: Februari 2002
  • Laatst online: 01-12 19:42

BHR

document.onload wordt idd niet getriggered. window.onload wordt wel getriggered, misschien lost dat je probleem op.

Ik weet helaas niet waarom document.onload niet getriggered wordt..

[ Voor 0% gewijzigd door BHR op 26-01-2007 17:57 . Reden: spuit11 ]

No amount of key presses will shut off the Random Bug Generator


  • JKVA
  • Registratie: Januari 2004
  • Niet online

JKVA

Design-by-buzzword fanatic

Je kunt ook je aanroep in de <body onload=""> zetten, afhankelijk van wat je wil.
Wellicht helpt dat je voorlopig verder. Ik zie de fout ook ff niet.

Fat Pizza's pizza, they are big and they are cheezy

Pagina: 1