/ / Utiliser un sélecteur jQuery en tant que variable - javascript, jquery, variables

Utiliser un sélecteur jQuery en tant que variable - javascript, jquery, variables

Je crée une variable qui stocke un ID d'éléments dans la variable. Je pourrais l'écrire comme ceci:

var webappData = document.getElementById("web-app-data");

Si je voulais faire la même chose en utilisant jQuery, je pense que je l'écrirais comme ceci:

var webappData = $("#web-app-data");

Cependant, lorsque j’essaie, cela ne fonctionne pas (le script génère une erreur car la variable ne sélectionne pas le div avec cet id.)

Comment utiliser jQuery pour sélectionner un élément et le stocker dans une variable?

Réponses:

2 pour la réponse № 1

document.getElementById("web-app-data") n'est pas la même chose que $("#web-app-data"). Le dernier retourne l'objet jQuery, qui est un peu un tableau de HTMLElement objets (un seul dans votre cas).

Si vous voulez obtenir HTMLElement, utilisation $("#web-app-data")[0]. Vérifier:

document.getElementById("web-app-data") === $("#web-app-data")[0]; // true

1 pour la réponse № 2

C’est bon. Peut-être qu’il ya autre chose qui ne va pas dans votre code.

Exemple:

<div id="web-app-data">
Hello
</div>

<script type="text/javascript">
var webappData = $("#web-app-data");
alert(webappData.text()); // Hello
</script>

Violon


0 pour la réponse № 3

Le code ci-dessus devrait fonctionner correctement. Votre problème est peut-être que jQuery ne trouve aucun élément correspondant dans le DOM car celui-ci a été supprimé ou n’a pas encore été chargé. Si vous essayez de console.log($("#web-app-data")); cette variable, vous pouvez vérifier si jQuery a réellement trouvé quelque chose. L'objet jQuery doit avoir une longueur d'au moins un (1) si l'élément correspondant est bien dans DOM atm.


0 pour la réponse № 4

Cela fonctionnera et vous utiliserez comme si c’était le sélecteur complet de JQuery.

var elm = $("#webappData");
if (elm.hasClass("someClass")) elm.removeClass("someClass");
return;