7
votes

Comment appliquer la sélection d'élément JQuery à une variable de chaîne

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:

HTML: xxx

jQuery: xxx

Donc, dans cet exemple, je veux extraire le ID et href du tag in myHTML .

merci


0 commentaires

4 Réponses :


0
votes

Vous pouvez faire quelque chose comme: xxx


2 commentaires

@Durilai Oui, je pourrais le faire, mais ce n'est pas optimal dans cette situation.


Pourquoi? Il atteint ce que vous recherchez.



0
votes

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).


0 commentaires

0
votes

Si vous devez traiter plusieurs éléments de votre structure, vous pouvez faire ce xxx


1 commentaires

Trouver la méthode est récursif et ne l'utiliserait pas à moins que vous n'ayez besoin.



11
votes

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();


5 commentaires

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 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: var str = '

texte

texte ' , il aurait besoin du sélecteur suivant pour obtenir le paragraphe: $ ('P' , $ ('

' + str + '')); . Et si vous souhaitez récupérer la chaîne d'origine, vous avez besoin de .parent (). HTML () , car HTML () est également question à l'intérieur l'élément!