获取href onclick并使用链接重定向

时间:2015-12-31 05:32:27

标签: javascript jquery html

我正在尝试执行下面的代码,从一个页面重定向到另一个页面,其中包含特定的“a”标记,并附加了clk变量中的特定链接

function abc()
{
	
var a = document.getElementsByTagName("a");
//alert(a);
    for (var i = 0; i < a.length; i++) {
       a[i].onclick = function (e) {
       e.preventDefault();
		var clk=$(this).attr('href');
		window.location='http://www.shopeeon.com?ver='+clk;
       //doSomething();
    }
}
}
<a  id="first" onclick='abc();' href="http://www.google.com" >Google</a><br/>
<a  id="second" onclick='abc();' href="http://www.yahoo.com" >Yahoo</a><br/>
<a  id="third" onclick='abc();' href="http://www.rediff.com" >Rediff</a><br/>
<a  id="third" onclick='abc();' href="http://www.gmail.com" >Gmail</a><br/>
<a  id="third" onclick='abc();' href="http://www.facebook.com" >Facebook</a><br/>

以上代码无法正常使用

e.g。假设当我点击第一个链接(或者可能是其他链接)然后在该特定点击上我获得该链接的href并存储在clk变量中并且还重定向到具有该特定链接的其他页面。

1 个答案:

答案 0 :(得分:3)

您不需要使用循环来添加onclick事件,因为您使用的是内联事件onclick,也可以使用方法href获取getAttribute

function abc(event) {
  event.preventDefault();
  var href = event.currentTarget.getAttribute('href')
  window.location='http://www.shopeeon.com?ver=' + href;
}
<a id="first" onclick='abc(event);' href="http://www.google.com" >Google</a><br/>
<a id="second" onclick='abc(event);' href="http://www.yahoo.com" >Yahoo</a><br/>
<a id="third" onclick='abc(event);' href="http://www.rediff.com" >Rediff</a><br/>
<a id="fourth" onclick='abc(event);' href="http://www.gmail.com" >Gmail</a><br/>
<a id="fifth" onclick='abc(event);' href="http://www.facebook.com" >Facebook</a>

但是如果在你的项目中有jQuery,你可以像这样解决这个问题

$('a.redirect').click(function (event) {
  event.preventDefault();
  var href = $(this).attr('href')
  window.location='http://www.shopeeon.com?ver=' + href;
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a class="redirect" id="first" href="http://www.google.com" >Google</a><br/>
<a class="redirect" id="second" href="http://www.yahoo.com" >Yahoo</a><br/>
<a class="redirect" id="third" href="http://www.rediff.com" >Rediff</a><br/>
<a class="redirect" id="fourth" href="http://www.gmail.com" >Gmail</a><br/>
<a class="redirect" id="fifth" href="http://www.facebook.com" >Facebook</a>

注意 - id 必须是唯一的