Insérer dynamiquement des liens à l'intérieur de Span Tag en utilisant Javascript

J'ai ceci:

<span class="image"><img src="something.jpg"></span> 

Je veux le transformer en utilisant javascript:

 <span class="image"><a href="domain"><img src="something.jpg"></a></span> 

Il doit être fait en utilisant javascript afin de cacher les liens d'affiliation.

J'ai essayé ce script mais cela ne semble pas fonctionner:

 function changespan() { find all <span> tags; for each <span> with class="image"{ URL = "http://domain.com" Create new link to URL; insert link into <span>; } } 

La fonction est téléchargée dans le fichier script.js et je le charge de cette façon:

 <script type="text/javascript" src="script.js"></script> <script type="text/javascript"> window.onload = changespan; </script> 

EDIT: après que cela a été résolu, comment puis-je analyser ma page pour trouver des liens dans ce format: puis affecte cette valeur à l'URL variable. J'ai besoin d'attribuer le premier chemin à URL_1 seconde à URL_2 et ainsi de suite.

C'est ainsi que vous pouvez l'implémenter:

 function changespan() { var spans = document.querySelectorAll('span.image'); for (var i = spans.length; i--; ) { var a = document.createElement('a'); a.href = "http://domain.com"; spans[i].appendChild(a).appendChild(a.previousSibling); } } 

http://jsfiddle.net/Tqv76/1/

Ici, je l'ai traduit en JavaScript pour garder votre pseudo code aussi intact que possible

DEMO

 window.onload=function() { var spans = document.getElementsByTagName("span"); // or the newer querySelectorAll for (var i=0;i<spans.length;i++) { if (spans[i].className=="image") { var link = document.createElement("a"); link.href = "http://domain.com"; link.setAttribute("rel","nofollow"); link.className="someclass"; link.innerHTML=spans[i].innerHTML; spans[i].replaceChild(link,spans[i].getElementsByTagName('img')[0]); } } }