2011-09-25 3 views
3

Je suis en train de faire un système de poste pour mon site, et je voudrais un javascript qui transformerait un lien de texte comme
<a href="path/to/image.jpg">Image</a> dans
<a href="path/to/image.jpg"><img src="path/to/image.jpg" /></a>
mais seulement tour dans un lien d'image quand quelque chose comme une regex reconnaît que le lien est à une image.convertir un lien texte lien image

Ou cela ne me dérange pas de faire quelque chose comme l'ajout d'un attribut data-type = "image" au lien, mais j'ai toujours besoin du code pour le transformer en un lien d'image.

Répondre

0

solution @ Alex est un meilleur, mais si vous ne pouviez pas ajouter une classe

$('a').each(function(){ 
    var a = $(this) 
    if(a.text() == 'Image') 
     a.html('<img src="'+a.href+'" >') 
}) 

http://jsfiddle.net/7AvJT/2/

+0

Ne marche toujours pas. – Jbridgiee

+0

Vous avez besoin de jQuery dans toutes les réponses données. Regardez les jsfiddles, ça marche. – 3on

1
$('a[href$=".png"], a[href$=".jpg"], a[href$=".gif]"').each(function(){ 
    $(this).html('<img src="' + $(this).attr('href') + '" />'); 
}); 

code: http://jsfiddle.net/FcQzG/1/

+0

Ne fonctionne toujours pas. http://jbridgiee.co.cc/resources/img.php – Jbridgiee

+0

C'est parce que vous ne l'esquivez pas bien http://pastie.org/2589528 – 3on

1

Je recommande de mettre une classe des liens sur tous les points d'ancrage que vous voulez convertir. Disons que vous choisissez d'utiliser une classe convert. Ensuite, vous pouvez utiliser jQuery l'ajouter une balise img dans la balise d'ancrage:

// for each anchor that needs converting 
$('.convert').each(function() { 
    // get the href of the anchor 
    var href = $(this).attr('href'); 
    // create the string we want to append to the anchor 
    var imgString = '<img src="' + href + '" alt="" />'; 
    // and then append it 
    $(this).append(imgString); 
});