Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 17/06/2011, 23h26   #1
Membre régulier
 
Avatar de the-destroyer
 
Homme
Lycéen
Inscription : mars 2009
Messages : 201
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 17
Localisation : France

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : mars 2009
Messages : 201
Points : 80
Points : 80
Par défaut Les fonctions lier au objets html

Bonjour, j'aimerais stocker une fonction qui est dans un objet html, prenons element.attributes.item par exemple, où élément est l’élément html, est l’exécuter mais pourquoi lorsque j’exécute ma fonction alors stocké dans ma variable a, cela ne marche pas ?

De cette façon:
Code :
1
2
3
 
var a = document.getElementById("monDiv").attributes.item;
a(0); // ne marche pas, firebug ne signal aucune erreur mais ne renvoit rien
Merci d'avance de votre aide !
the-destroyer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/06/2011, 23h59   #2
Membre éclairé
 
Homme
Webmaster
Inscription : septembre 2007
Messages : 376
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Webmaster
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2007
Messages : 376
Points : 377
Points : 377
Coucou,

essaie ça :

Code :
1
2
3
 
var a = document.getElementById("monDiv").getAttribute("item");
alert(a);
Finality est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2011, 01h21   #3
Membre régulier
 
Avatar de the-destroyer
 
Homme
Lycéen
Inscription : mars 2009
Messages : 201
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 17
Localisation : France

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : mars 2009
Messages : 201
Points : 80
Points : 80
Coucou

item n'est pas un attribut mais une fonctions belle est bien défini dans l’objet 'attributes' d'un élément html regarde dans la console firebug si tu peus

Tu vois ?
the-destroyer est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2011, 10h43   #4
Membre éclairé
 
Homme
Webmaster
Inscription : septembre 2007
Messages : 376
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Webmaster
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : septembre 2007
Messages : 376
Points : 377
Points : 377
Ha oui excuse moi j'ai mal compris

Déjà, ton code me donne une erreur sous FF moi Tu devrais essayer quelque chose comme ça :

Code :
1
2
3
 
var a = document.getElementById("monDiv").attributes.item(0);
alert(a);
Finality est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2011, 11h37   #5
Expert Confirmé
 
Avatar de sekaijin
 
Femme
Urbaniste
Inscription : juillet 2004
Messages : 1 421
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 48
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Urbaniste
Secteur : Santé

Informations forums :
Inscription : juillet 2004
Messages : 1 421
Points : 2 809
Points : 2 809
bonjour en javascript lorsqu'on assigne une fonction à un objet la référence this interne à la fonction devient l'objet auquel la fonction est attachée.

dans ton cas tu à un objet attributes qui possède une méthode items
Code :
1
2
3
4
arrtibuttes : {
  datas: [...], 
  items: function (id) {return this.data[id];}
}
tu récupère une référence sur cette fonction que tu mets dans la variable a
Code :
var a = attributes.items
En faisant cela tu crée un nouveau nom pour la méthode que tu attaches à l'objet de contexte d'exécution.
donc dans la fonction tu vas faire un this.data[id] ors this n'est pas l'objet attributes mais l'objet de contexte.
Code :
1
2
3
4
5
6
7
8
9
a = {
  name:"I'm A",
  show: function() {alert (this.name)}
}
b = {
  nom:"I'm B"
}
b.display = a.show;
b.display();
dans cet exemple la fonction show est attachée à l'objet b l'ors de l'exécution de display vas donc faire alert (this.name)
or name n'existe pas dans l'objet b

A+JYT
sekaijin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/06/2011, 11h50   #6
Membre régulier
 
Avatar de the-destroyer
 
Homme
Lycéen
Inscription : mars 2009
Messages : 201
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 17
Localisation : France

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : mars 2009
Messages : 201
Points : 80
Points : 80
c bien ce qui me semblait merci de votre aide
the-destroyer est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h17.


 
 
 
 
Partenaires

Hébergement Web