2009-08-31 7 views
0

J'ai un blob de HTML. Comment puis-je utiliser jQuery pour supprimer l'attribut class de toutes les balises d'ancrage dans le blob, puis renvoyer le code HTML résultant?Supprimer un attribut d'un blob de HTML avec jQuery

je me sens comme cela devrait fonctionner, mais il ne compte pas:

$(blob).filter('a').removeAttr('class').end().html() 

(Elle retourne la chaîne vide)

points bonus si vous expliquer pourquoi ma solution est fausse.

+1

Note ... comme Votey a travaillé dans sa réponse, html() renvoie le code HTML * * de tout ce que le sélecteur est ... donc si vous voulez le html des éléments sélectionnés eux-mêmes, vous devez envelopper dans un div ou quelque chose comme Votey a démontré. –

Répondre

5

Vous voulez ceci:

$('<div></div>').append(blob).find('a').removeAttr('class').end().html() 

.filter() prend les éléments sélectionnés et supprime tous ceux qui ont ne sont pas <a> tags. .find() traverse dans l'arbre entier, trouver toutes les étiquettes d'ancrage à l'intérieur.

+0

Cela ne fonctionne pas - supposons que blob est '' quelque chose alkdfjs "'. Votre réponse sort "alkdfjs" –

+0

Ah. J'ai mal compris ce que serait «blob». Je vais modifier en conséquence. – VoteyDisciple

+0

Merci! (Pour être clair, étant donné la définition ci-dessus de blob, je cherche cette sortie: 'quelque chose alkdfjs') –

Questions connexes