-
this.id
(comme vous le savez)
-
this.value
(sur la plupart des types d'entrée. seulement des questions je sais c'est à dire quand une <select>
n'ont pas d' value
jeu de propriétés sur sa <option>
éléments, ou à la radio entrées dans Safari.)
-
this.className
d'obtenir ou de définir un ensemble de la "classe" de la propriété
-
this.selectedIndex
contre une <select>
pour obtenir l'index sélectionné
-
this.options
contre une <select>
pour obtenir une liste d' <option>
éléments
-
this.text
contre une <option>
pour obtenir son contenu texte
-
this.rows
contre une <table>
d'obtenir une collection de <tr>
éléments
-
this.cells
contre une <tr>
pour obtenir ses cellules (td et th)
-
this.parentNode
pour obtenir un parent direct
-
this.checked
pour obtenir l'état coché d'un checkbox
Merci @Tim Bas
-
this.selected
pour obtenir l'état de sélection de l' option
Merci @Tim Bas
-
this.disabled
pour obtenir l'état désactivé de l' input
Merci @Tim Bas
-
this.readOnly
pour obtenir le readOnly état d'un input
Merci @Tim Bas
-
this.href
contre une <a>
élément pour obtenir son href
-
this.hostname
contre une <a>
élément pour obtenir le domaine de ses href
-
this.pathname
contre une <a>
élément pour obtenir le chemin de son href
-
this.search
contre une <a>
élément pour obtenir la chaîne de requête de son href
-
this.src
contre un élément où il est possible d'avoir un src
...Je pense que vous obtenez l'idée.
Il y aura des moments où la performance est cruciale. Si vous effectuez quelque chose dans une boucle de nombreuses fois, vous pouvez fossé jQuery.
En général, vous pouvez remplacer:
$(el).attr('someName');
avec:
Ci-dessus a été mal formulé. getAttribute
n'est pas un remplacement, mais il ne récupérer la valeur d'un attribut envoyés à partir du serveur, et de ses correspondants setAttribute
va le mettre. Nécessaire dans certains cas.
Les phrases ci-dessous sorte de couvert. Voir cette réponse pour un meilleur traitement.
el.getAttribute('someName');
...pour accéder à un attribut directement. Notez que les attributs ne sont pas les mêmes propriétés (si ils en miroir les uns des autres, parfois). Bien sûr, il y a setAttribute
trop.
Disons que vous avez eu une situation où ont reçu une page où vous avez besoin de déballer toutes les balises d'un certain type. Il est court et facile avec jQuery:
$('span').unwrap(); // unwrap all span elements
Mais si il y a beaucoup, vous voudrez peut-être faire un peu de native API DOM:
var spans = document.getElementsByTagName('span');
while( spans[0] ) {
var parent = spans[0].parentNode;
while( spans[0].firstChild ) {
parent.insertBefore( spans[0].firstChild, spans[0]);
}
parent.removeChild( spans[0] );
}
Ce code est assez court, il est plus performante que la version jQuery, et peut facilement être transformé en une réutilisables fonction dans votre bibliothèque personnelle.
Il peut sembler comme j'ai une boucle infinie avec l'extérieur while
en raison de l' while(spans[0])
, mais parce que nous avons affaire à un "live liste" il sera mis à jour lorsque nous faisons l' parent.removeChild(span[0]);
. C'est plutôt une fonctionnalité utile qui nous échappe lorsque l'on travaille avec un Tableau (ou d'une Matrice (comme objet) à la place.