Supposons que j'ai
var testHTML = "<div id='demo_div'></div>";
Je veux obtenir au-dessus de div un objet JQuery à manipuler. J'essaie de le trouver avec:
var found = $(testHTML).find("#demo_div");
et avec:
var found = $(testHTML).find("div");
Les deux sans chance. J'ai vide trouvé variable. Qu'est-ce que je fais mal?
P.S. Oui je sais que je peux avoir un accès direct à mon div avec
$("#demo_div")
mais je ne peux pas le faire dans mon cas - j'ai besoin de l'obtenir à partir d'un HTML simple qui sera assigné à une variable comme dans mon exemple avec testHTML var.
UPDATE: Même si je n'ai pas root div élément comme ici:
var testHTML = "<html><div id='demo_div'></div></html>";
Je ne peux pas utiliser find pour naviguer dans l'élément div.
Le problème est que votre div
est l'élément racine de la collection. Vous devez donc utiliser .filter()
au lieu de .find()
(qui ne regarde que les éléments descendants):
var found = $(testHTML).filter("#demo_div");
Je suppose que votre chaîne HTML est plus complexe que celle de la question, sinon vous n'avez rien d'autre à faire que $(testHTML)
et vous aurez un objet jQuery contenant ce seul élément.
Vous pouvez utiliser la fonction .search()
du javascript lui-même.
testHTML.search('demo_div')>-1