[英]Dynamically Insert Links Inside Span Tag Using Javascript
I have this: 我有这个:
<span class="image"><img src="something.jpg"></span>
I want to transform it to that using javascript: 我想用javascript将其转换为:
<span class="image"><a href="domain"><img src="something.jpg"></a></span>
It has to be done using javascript in order to hide the affiliate links. 它必须使用javascript来隐藏联盟链接。
I have tried this script but it seems not to work: 我尝试过这个脚本,但似乎不起作用:
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>;
}
}
The function is uploaded in file script.js and I load it in this fashion: 该函数上传到文件script.js中,我以这种方式加载它:
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript">
window.onload = changespan;
</script>
EDIT: After this is solved, how could i parse my page to find links in this format: and then assign this value to variable URL. 编辑:解决这个问题后,我如何解析我的页面以找到这种格式的链接:然后将此值分配给变量URL。 I need to be able to assign first path to URL_1 second to URL_2 and so on. 我需要能够将URL_1的第一条路径分配给URL_2,依此类推。
This is how you can implement it: 这是你如何实现它:
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);
}
}
Here, I translated it to JavaScript keeping your pseudo code as intact as possible 在这里,我将其翻译为JavaScript,使您的伪代码尽可能完整
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]);
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.