使用Javascript在Span标记内动态插入链接

使用Javascript在Span标记内动态插入链接,javascript,hyperlink,affiliate,Javascript,Hyperlink,Affiliate,我有这个: <span class="image"><img src="something.jpg"></span> <script type="text/javascript" src="script.js"></script> <script type="text/javascript"> window.onload = changespan; </script> 我想使用javascript将其转换

我有这个:

<span class="image"><img src="something.jpg"></span>
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript">
window.onload = changespan;
</script>

我想使用javascript将其转换为:

<span class="image"><a href="domain"><img src="something.jpg"></a></span>
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript">
window.onload = changespan;
</script>

它必须使用javascript来隐藏附属链接

<script type="text/javascript" src="script.js"></script>
<script type="text/javascript">
window.onload = changespan;
</script>
我尝试过这个脚本,但似乎不起作用:

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>;
}       
}
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript">
window.onload = changespan;
</script>
函数更改span(){
查找所有标签;
对于带有class=“image”的每个{
URL=”http://domain.com"
创建指向URL的新链接;
将链接插入;
}       
}
函数上传到script.js文件中,我以这种方式加载它:

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

window.onload=changespan;
编辑:解决此问题后,我如何解析页面以查找此格式的链接:
然后将该值分配给变量URL。我需要能够将第一个路径分配给URL_,第二个路径分配给URL_,依此类推

在这里,我将其翻译为JavaScript,尽可能保持伪代码的完整性

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

<script type="text/javascript" src="script.js"></script>
<script type="text/javascript">
window.onload = changespan;
</script>
window.onload=function(){
var span=document.getElementsByTagName(“span”);//或更新的querySelectorAll

对于(var i=0;i这是如何实现它的:

<script type="text/javascript" src="script.js"></script>
<script type="text/javascript">
window.onload = changespan;
</script>
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);
    }
}

您似乎忽略了这一点和那一点……什么脚本语言是“查找所有标记”Wishfulthing语言?试试
应该有这样一种语言!我现在可以看到它是EnglishScript LOL@TimGoodman-我给它起了不同的名字;)我从未见过一个
for
的格式是这样的。它退出是因为
I--
to
0
是错误的吗?@mplungjan它为什么要复制图像?在循环中
a
将始终是具有自己图像的新图像,请参见
a
在循环中重新创建。我看到了您的困惑:这只是
lorempixel。com
缓存请求并输出相同的图像。我将更新演示以使用不同的图像。是的,当然它会在链接中移动图像,这是我们所需要的。为什么?移动节点比重新创建节点更有效。事实上,
appendChild
的构建目的是:插入和移动。非常感谢。再次呃,我需要做的是解析页面中的链接,并将其用作link.href(URL)。所需的链接是“link.html”从。在整个页面上只有一个这样的链接。演示实际上并没有输出可点击的图像。它们应该是可点击的。请再看一看。我在getElements中有一个输入错误-我现在在spanWorks中留下了。非常感谢。这段代码对很多人都非常有用。我需要做的另一件事是解析链接nd将其用作link.href(URL)-添加了类和rel,不确定解析已解决的链接是什么意思-谢谢(使用从页面解析的URL)-
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript">
window.onload = changespan;
</script>