在下面我想使用url重定向将变量值从一个页面传递给另一个页面。但是在我的变量中我有多个url,所以当我点击特定的url时,只有url值会存储并重定向。
<script src="jquery-1.11.3.js"></script>
<script>
$(document).ready(function(){
$('a').click(function(e){
e.preventDefault();
var clk=$('#fkt').attr('href');
var clk=$('#snd').attr('href');
var clk=$('#amz').attr('href');
//alert(clk);
window.location='http://www.shopeeon.com?ver='+clk;
});
});
</script>
<a id='fkt' href="http://www.google.com">Google</a><br/>
<a id='snd' href="http://www.yahoo.com">Yahoo</a><br/>
<a id='amz' href="http://www.rediff.com">Rediff</a><br/>
&#13;
在我的情况下,它只会使用最后一个URL链接并存储在clk
变量中。
答案 0 :(得分:1)
要获取当前点击的href
代码的<a>
,请使用this
:
$('a').click(function(e){
e.preventDefault();
var clk = $(this).attr('href');
window.location='http://www.shopeeon.com?ver='+clk;
});
答案 1 :(得分:0)
它不起作用的原因是,您一次又一次地重新声明相同的字符串,并且它会清除旧内容。你可以用这个:
var clk = $('#fkt').attr('href');
clk += $('#snd').attr('href');
clk += $('#amz').attr('href');
这会连接字符串。
你能使用数组吗?
var clk = [];
clk.push($('#fkt').attr('href'));
clk.push($('#snd').attr('href'));
clk.push($('#amz').attr('href'));
console.log(clk.join(","));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<a id='fkt' href="http://www.google.com">Google</a><br/>
<a id='snd' href="http://www.yahoo.com">Yahoo</a><br/>
<a id='amz' href="http://www.rediff.com">Rediff</a><br/>
您应该使用上下文this
。但最终,你要找的是:
$('a').click(function (e) {
e.preventDefault();
var clk = $(this).attr('href');
location.href = 'http://www.shopeeon.com?ver='+clk;
});