J'ai du code HTML extrait à une chaîne var, et souhaitez ensuite utiliser la sélection de jQuery Element uniquement sur cette chaîne. Est-ce possible?
Par exemple: p>
HTML: strong> p> jQuery: strong> p> Donc, dans cet exemple, je veux extraire le merci p> p> ID code> et
href code> du
code> tag in
myHTML code>. p>
4 Réponses :
Vous pouvez faire quelque chose comme:
@Durilai Oui, je pourrais le faire, mais ce n'est pas optimal dans cette situation.
Pourquoi? Il atteint ce que vous recherchez.
Il y a un plugin JQuery ( ici ) que vous pouvez utiliser pour analyser une chaîne En tant que XML DOM, puis utilisez JQuery pour la questionner. Il doit être XML, pas le type de XML "détendu" que vous voyez parfois dans HTML, cependant (c'est-à-dire que vous avez besoin de citations autour de vos valeurs d'attribut). P>
Si vous devez traiter plusieurs éléments de votre structure, vous pouvez faire ce
Trouver la méthode est récursif et ne l'utiliserait pas à moins que vous n'ayez besoin.
Si je comprends correctement, vous avez du code HTML dans une variable de chaîne et souhaitez interroger dans ce cadre?
// Suppose you have your HTML in a variable str var str = '<div class="message">This is a message. Click ' + '<a class="link" id="link1" href="example.com">here</a></div>âââââââââââââââ'; // You query the DOM fragment created by passing the string to jQuery function. // $(<string>) - creates a DOM fragment (string must contain HTML) var anchor = $('a', $(str)); // Then you can retrieve individual properties and/or contents: var id = anchor.attr('id'); var href = anchor.attr('href'); var text = anchor.text();
Cela semble prometteur. Je vais essayer.
@Nick Craver, comment est-ce différent de ma réponse. Autre que le sélecteur. J'essaie de comprendre. Merci
@Durilai - Votre réponse choisit sur l'élément DOM (comme s'il existe dans le document actuel) ... C'est la principale différence pour la question, Uku souhaite sélectionner des éléments à partir de n'importe quelle chaîne de HTML que cela utilise en utilisant l'argument de contexte de le sélecteur.
@Nick Craver, merci pour l'explication. Je vois que tu vois ce que tu dis. :)
Sachez que JQuery prend les éléments à l'intérieur i> l'élément le plus externe. Dans le DOM, ce n'est pas un problème, car tout est emballé dans un élément "document". Si votre chaîne contient plusieurs éléments de "frère" sur le niveau supérieur, vous devez envelopper votre chaîne dans une étiquette temporaire, comme un div. Considérons: texte p>' code>, il aurait besoin du sélecteur suivant pour obtenir le paragraphe: var str = '
texte h1>
$ ('P' , $ ('
.parent (). HTML () code>, car HTML () est également question à l'intérieur i> l'élément!