如何在单个变量名称中获取多个url值

时间:2015-12-30 09:24:19

标签: javascript php jquery

在下面我想使用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;
&#13;
&#13;

在我的情况下,它只会使用最后一个URL链接并存储在clk变量中。

2 个答案:

答案 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;
});