簡體   English   中英

使用Javascript動態插入跨標記內的鏈接

[英]Dynamically Insert Links Inside Span Tag Using Javascript

我有這個:

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

我想用javascript將其轉換為:

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

它必須使用javascript來隱藏聯盟鏈接。

我嘗試過這個腳本,但似乎不起作用:

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.js中,我以這種方式加載它:

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

編輯:解決這個問題后,我如何解析我的頁面以找到這種格式的鏈接:然后將此值分配給變量URL。 我需要能夠將URL_1的第一條路徑分配給URL_2,依此類推。

這是你如何實現它:

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/

在這里,我將其翻譯為JavaScript,使您的偽代碼盡可能完整

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]);
    }       
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM