2011-04-20 68 views
0

我的網頁有許多按鈕和鏈接,像這樣的主鏈路和二級鏈接:動態地更改所有鏈接的href在頁面上打開的同時

<div class="box"> 
<a href="http://foo.com/index.php/products/view/bar"> 
<div class="bar" style="margin-top:337px;cursor:pointer;"></div></a> 
</div> 

,我想一個javascript腳本將經過頁面和動態添加第二個鏈接中的href所以這將是

<a href="#" onclick="window.open('http://foo.com/index.php/products/view/bar'); 
    window.open('bar.com');"></a> 

頁面中的每個鏈接。

我在我的網站上有很多頁面,所以非常喜歡如果有人能夠告訴我如何通過在<head>部分實現一個JavaScript段並使其動態更改頁面上的所有鏈接來實現此目的。

謝謝!

回答

0

只是假裝你有一個標記 「<a href="http://foo.com/index.php/products/view/bar">a</a>

var createDelegate = function (obj, handler) { 
       return function() { return handler.apply(obj, arguments); }; 
      }; 

      var changeHref = function() { 
       var hrefs = document.getElementsByTagName("A"); 
       for (var i = 0; i < hrefs.length; i++) { 
        hrefs[i].attachEvent('onclick', createDelegate(hrefs[i], function() { openLink(this); return false; })); 
       } 
      } 

     var openLink = function (obj) { 
      var str = new String(obj.href); 
      str = str.substr(str.lastIndexOf('/') + 1); 
      window.open(obj.href); 
      window.open(str + '.com'); 
     } 

//調用它加載時。

changeHref(); 
+0

http://foo.com/index.php/products/view/bar每次都會改變,我怎樣才能讓它每次都根據href中的鏈接貨幣動態改變? – Josh 2011-04-20 14:39:13

+0

我已經更新了我的腳本,試試看。 – Howard 2011-04-20 15:22:18