11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

je cherche à créer un objet qui a un tableau comme propriété (oui c'est confus).

example :

function belObjet(d){
   this.prenom = 'titi';
   this.tab = new Array();
   this.tab[0].nom = 'toto';
   this.tab[1].nom = 'tata';
}

monOb = belObjet();


Et voila la réponse de firebug (Il a sûrement raison Smiley smile ).

this.tab[0] has no properties


Je pense que c'est possible car il y a des choses comme ceci qui existent.

d.getElementsByTagName('nom')[0].firstChild.nodeValue



Merci.
A+
Modifié par sieurVLD (23 Jan 2007 - 10:50)
Ce n'est pas le [0] qui est faux mais le .nom.
En effet, un indice de tableau créé avec new Array n'a pas de propriétés supplémentaires, il se suffit à lui-même.
Donc soit c'est tab[0] = "toto", soit tu crées un objet auquel tu attribues la propriété nom : tab[0]=new Object(); tab[0].nom = "toto";
Effectivement, il manquait un nouvel objet.


function BelObjet(){
   this.prenom = 'toto';
   this.nom = new Array();
   this.nom[0] = new Object();
   this.nom[0].prefix = 'De';
   this.nom[0].suffix = 'Labas';
}


Cela fonctionne.

Merci.