Est-il possible, à l'aide de jQuery, de connaître le type d'un élément avec jQuery? Par exemple, l'élément est-il un div, une étendue, une sélection ou une entrée?
Par exemple, si j'essaie de charger des valeurs dans une liste déroulante avec jQuery, mais que le même script peut générer du code dans un ensemble de boutons radio, pourrais-je créer quelque chose comme:
$('.trigger').live('click', function () {
var elementType = $(this).prev().attr(WHAT IS IT);
});
Étant donné une liste déroulante avec un bouton à côté de lui avec la classe de déclenchement , ma elementType
variable devrait revenir select
lorsque le bouton est pressé.
Réponses:
Obtenir le type d'élément de la manière jQuery:
faire la même chose sans jQuery
Vérification d'un type d'élément spécifique:
la source
nodeName
prend en charge plus de types d'éléments et la prise en charge d'IE5.5 ne devrait plus être un problème, donc je ne vois aucun problème avec le passagetagName
ànodeName
dans la réponse ci-dessus. Les deux fonctionneront très bien pour les éléments, et ce dernier fonctionnera également sur les nœuds de texte, les attributs, etc.$(this).is("input");
vous pouvez également utiliser:
la source
vous devez utiliser la
tagName
propriété et lesattr('type')
entréesla source
Comme Distdev y a fait allusion, vous devez toujours différencier le type d'entrée. C'est-à-dire,
vous le dira
input
, mais cela ne fait pas de différence entre case à cocher / texte / radio. S'il s'agit d'une entrée, vous pouvez alors utiliserpour vous dire case à cocher / texte / radio, afin que vous sachiez de quel type de contrôle il s'agit.
la source
vous pouvez utiliser
.is()
:voir la source
la source
utilisez get (0) .tagName. Voir ce lien
la source
Utilisez Nodename sur tagName:
voir DOM Core
la source