56 votes

Obtention d'un élément par un attribut personnalisé à l'aide de JavaScript

J'ai une page XHTML où chaque élément HTML a un attribut personnalisé unique, comme ceci :

<div class="logo" tokenid="14"></div>

J'ai besoin d'un moyen de trouver cet élément par son numéro d'identification, comme dans le cas suivant document.getElementById() mais au lieu d'utiliser un identifiant général, je veux rechercher l'élément en utilisant mon identifiant personnalisé "tokenid" attribut. Quelque chose comme ceci :

document.getElementByTokenId('14'); 

Est-ce possible ? Si oui, toute indication serait grandement appréciée.

Merci.

1voto

sje397 Points 23619

Si vous êtes prêt à utiliser JQuery alors :

var myElement = $('div[tokenid="14"]').get();

0voto

Tom Points 151

Utiliser cette fonction plus stable :

function getElementsByAttribute(attr, value) {
  var match = [];
  /* Get the droids we are looking for*/
  var elements = document.getElementsByTagName("*");
  /* Loop through all elements */
  for (var ii = 0, ln = elements.length; ii < ln; ii++) {
    if (elements[ii].nodeType === 1){      
      if (elements[ii].name != null){        
      /* If a value was passed, make sure it matches the elements */
        if (value) {
          if (elements[ii].getAttribute(attr) === value) 
           match.push(elements[ii]);           
      } else {
        /* Else, simply push it */
         match.push(elements[ii]);          
      }
     }
   }
  }
return match;
};

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X