2011-04-20 111 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