6

私はこれを持っています:

<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 に、2 番目に URL_2 に、というように割り当てることができる必要があります。

4

2 に答える 2

8

これを実装する方法は次のとおりです。

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/

于 2013-03-11T13:47:18.173 に答える
4

ここでは、疑似コードを可能な限りそのままにして、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]);
    }       
  }
}
于 2013-03-11T13:46:17.617 に答える