9
votes

Convertir un texte en un hyperlien

mise à jour:
La réponse n ° 3 a fini par travailler le meilleur. J'ai probablement fait quelque chose de mal avec les autres suggestions; # 3 était peut-être le plus facile à mettre en œuvre. Si vous êtes curieux, les exemples de solutions que j'ai essayées peuvent être trouvées ici (pour l'instant):

  1. http://dl.dropbox.com/u/1007716/spantourl/test01.html
  2. http://dl.dropbox.com/u/1007716/spantourl/test02.html
  3. http://dl.dropbox.com/u/1007716/spantourl/test03.htmlle_ a> (gagnant)
  4. http://dl.dropbox.com/u/1007716/spantourl/test04.html
  5. http://dl.dropbox.com/u/1007716/spantourl/test05.html
  6. http://dl.dropbox.com/u/1007716/spantourl/test06.html

    message original:
    J'ai une adresse de site Web en texte brut à l'intérieur d'une balise . Je voudrais changer cette balise dans un lien hypertexte approprié avec cible = "_ vide"

    J'ai monté un exemple détaillé de ce que je dois travailler avec ici: http://bit.ly/spantourl

    Si vous ne voulez pas cliquer sur, voici Ce que j'ai: xxx

    et j'ai besoin de changer cela: xxx


3 commentaires

Pouvez-vous ajouter une classe à la portée de la sortie?


Non, mais je peux envelopper la portée de la sortie dans une autre portée avec une classe de sorte qu'elle serait domain.com/about >


Pas besoin de classes / IDS - Utilisez une boucle pour chaque boucle sur l'élément spécifique


5 Réponses :



2
votes

Vous devez avoir une forme d'identification afin de faire la conversion du nœud A au nœud B. Je suggérerais quelque chose sur les lignes suivantes:

Le code JQuery: P>

<span class="convertableIdentifier">http://www.google.com</span>
<span class="convertableIdentifier">http://www.youtube.com</span>
<span class="convertableIdentifier">http://www.facebook.com</span>


2 commentaires

.replacevith () peut itérer via un ensemble, il n'est donc pas nécessaire de l'envelopper dans chacun . Voir ma réponse.


A pris un coup ici: dl.dropbox.com/u/1007716/spantourl/test01 .html Pas de chance pour que cela fonctionne sur ma page, même s'il a fonctionné sur jsfiddle, ici: jsfiddle.net / Gyk3q



2
votes

Utilisez jQuery.

Donnez à la portée un identifiant: xxx

jQuery code: xxx


1 commentaires

Pas de chance, essayé cette solution ici: dl.dropbox.com/u/1007716 /Spantourl/test04.html



1
votes

Peut-être quelque chose comme ceci: (pas besoin de connaître les identifiants / classes) Utilisation de jQuerys pour-chaque boucle et cible spécifiquement les couvrements à l'intérieur de TDS

$ (document) .Ready (fonction () { $ ('TD Span'). Chacun (fonction () { $ (this) .text ("" + $ (this) .text () + ""); }); });

Edit: Ce code fonctionne beaucoup mieux: xxx

L'origine utilisait l'origine .text () fonction de jQuery que HTML a échappé aux caractères <> , addin involontairement & gt; & Lt; dans le DOM, tandis que .html émet des étiquettes correctes


4 commentaires

Wow, aime cette communauté. Comment un nouveau-est-il à choisir avec tant de réponses potentielles? Merci yo pour le lien Jsfiddle - Vous avez oublié ce site. Je ne suis pas sûr que la réponse est la meilleure, je vais tester quelques-uns dans le CMS et voir si cela fonctionne.


Je double imbriqué et modifié le script pour refléter la double étendue et il est proche de travailler, mais la sortie n'est pas tout à fait correcte. Les citations simples semblent avoir besoin d'être des citations doubles pour le travail. Voir ici: DL.DropBox.com/u/1007716/spantourl/test02.html


Merveilleux, content de voir sa quasi-clique de travailler pour vous! Chaque fois que vous le faites fonctionner, n'oubliez pas de marquer-comme réponse que la réponse jamais ait aidé le plus!


La réponse marquée a pris des tests pour déterminer ce qui était le mieux. Le code modifié ci-dessus a fonctionné aussi, mais il produit un HTML non valide. L'exemple peut être vu ici: dl.dropbox.com/u/1007716/Spantourl /test06.html



16
votes

Essayez ceci:

$('.sampleClass span:even').first().replaceWith( /* ... */ );


9 commentaires

J'aime apprendre d'autres réponses "concurrentes". Je dis, joyeusement bonne ol 'chap.


Hé, merci pour la bonne joie. Je suis d'accord: voir plusieurs implémentations côte à côte est l'une des meilleures choses sur ce site.


A également pris un coup de feu à celui-ci, ici: dl.dropbox.com/u/ 1007716 / SPANTOURL / TEST03.HTML Aucune chance pour que cela fonctionne non plus.


Vous placez le code avant le HTML actuel, donc $ ('. Sampleclass span') renvoie un ensemble vide, car les éléments que vous recherchez n'existent pas encore. Essayez de déplacer ce bloc de script à la fin de l'étiquette du corps.


Oups, ok, prendre un autre coup avec script au bas de la page. Merci d'avoir cherché - cela réparera probablement les autres que j'ai cassé aussi.


dl.dropbox.com/u/1007716/spantourl/Test03.htmlled/a > Semble être le gagnant - pas le plus élégant, mais c'est celui qui aboutit à ce dont j'ai besoin.


Alternativement, joignez la fonction à l'événement ONLOWLOW de l'objet de la fenêtre, de sorte qu'il n'exécute que lorsque la page est terminée le chargement. Voir ici DPAST.COM/481035 (avec le sélecteur)


L'approche pair ne fonctionnera pas - les URL peuvent apparaître n'importe où. De plus, je suis sûr que le CMS a des problèmes avec l'objet de la fenêtre, mais je vais tester votre suggestion pour mon apprentissage personnel.


Ok, donc # 3 finissait de travailler pour moi. Ce n'est peut-être pas la meilleure solution, mais cela fonctionne. Merci tout le monde.