Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1140 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [Javascript] Définir un attribut à l'aide d'une variable

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Javascript] Définir un attribut à l'aide d'une variable

n°2087176
TontonDouc​eur
Posté le 05-07-2011 à 13:17:10  profilanswer
 

Bonjour à tous,
 
Dans une fonction Javascript, j'aimerai pouvoir choisir directement quels attributs modifier à partir des paramètres de la fonction, sans effectuer toute une batterie de tests.
 
Exemple : (qui ne marche pas, c'est juste pour l'idée)
 
function change(id,attribut,valeur) {
document.getElementbyId(id).attribut = valeur;
}
 
change('id01' , 'value' , 'Bonjour');
change('id02' , 'checked' , true);
change('id03' , 'style.display' , 'none');
etc.
 
Je pourrai bien sûr passer par des test sur les paramètres, ou faire des fonctions dédiées, mais je voudrais vraiment alléger la structure en gardant des fonctions génériques.
Je suis 99% sûr qu'il est impossible de passer des variables en attributs, mais j'aimerais une confirmation... :jap:
 
Merci pour vos réponses...


Message édité par TontonDouceur le 05-07-2011 à 13:18:56
mood
Publicité
Posté le 05-07-2011 à 13:17:10  profilanswer
 

n°2087187
SICKofitAL​L
misanthrope
Posté le 05-07-2011 à 14:00:03  profilanswer
 

Un truc dans ce style ?

Code :
  1. var changeAttr = function (id, attr, val)
  2. {
  3.  if (arguments.length != 3) {
  4.   throw "Pas assez de parametres !";
  5.  }
  6.  var el = document.getElementById (id),
  7.   prevVal;
  8.  if (!el) {
  9.   throw "Element '" + id + "' pas trouvé !";
  10.  }
  11.  prevVal = el[attr];
  12.  el[attr] = val;
  13.  return prevVal;
  14. }


 
(la fonction te retourne l'ancienne valeur de l'attribut que tu veux modifier :o )


Message édité par SICKofitALL le 05-07-2011 à 14:00:38

---------------
We deserve everything that's coming...
n°2087189
SICKofitAL​L
misanthrope
Posté le 05-07-2011 à 14:05:28  profilanswer
 

Par contre, pour des trucs du genre "style.display", ca reste faisable mais il faut creuser un peu plus (pourquoi pas un 4eme param ?)


---------------
We deserve everything that's coming...
n°2087262
TontonDouc​eur
Posté le 05-07-2011 à 16:30:47  profilanswer
 

Super, merci !
 
Ca m'a tout l'air d'être ce que je cherche ! Et simple en plus ! :p
 
Je vais tâcher de tester ça, et de découvrir les limites...
 
Merci beaucoup ! :jap:

n°2087806
gatsu35
Blablaté par Harko
Posté le 07-07-2011 à 08:25:23  profilanswer
 

et pourquoi tu veux faire ça ? tu veux recoder une librairie ?  
à ce prix là pourquoi ne pas avoir une fonction qui te retourne l'objet quand tu lui passe l'id, et après il est aussi simple de faire ça :  
 

Code :
  1. myfunc('id').style.display = 'block';


C'est même plus intelligent et c'est comme ça que fonctionnent la plupart des librairies via leur $.
 
Et pourquoi ne pas utiliser une librairie qui te ferait gagner un temps conséquent.


---------------
Blablaté par Harko

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [Javascript] Définir un attribut à l'aide d'une variable

 

Sujets relatifs
Limiter la porté d'une variable en emacs lispConseil aide requete sql
[Résolu] Affectation de variable/Macro copier coller Excel[Résolu] HTML::Parser, balises avec attribut
[Batch] Comment renommer en enlevant une variable[RESOLU] Encore showmodal qui foire. Besoin d'aide.
Typer un objet de type variableRécupération d'une variable contenue dans une frame
Creation d'une variable a partir d'une autreDestruction event JavaScript en mémoire
Plus de sujets relatifs à : [Javascript] Définir un attribut à l'aide d'une variable


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR