我试图通过使用jquery将一些数据从一个页面传递到另一个页面,但它不起作用,下面是我想要单击源页面中的文本的代码,目标页面将隐藏当前文本。 / p>
来源页面:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
$("a.pass").bind("click", function () {
var url = "Destination.html?name=" + encodeURIComponent($("a.pass").text());
window.location.href = url;
});
});
</script>
</head>
<body>
<a class="pass">a</a><br />
<a class="pass">b</a><br />
<a class="pass">c</a><br />
<a class="pass">d</a>
</body>
</html>
目标网页:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
var queryString = new Array();
$(function () {
if (queryString.length == 0) {
if (window.location.search.split('?').length > 1) {
var params = window.location.search.split('?')[1].split('&');
for (var i = 0; i < params.length; i++) {
var key = params[i].split('=')[0];
var value = decodeURIComponent(params[i].split('=')[1]);
queryString[key] = value;
}
}
}
if (queryString["name"] != null) {
var data = queryString["name"]
$("p.+'data'").hide();
}
});
</script>
</head>
<body>
<p class="a">a</p>
<p class="b">b</p>
<p class="c">c</p>
<p class="d">d</p>
</body>
</html>
请帮助。
答案 0 :(得分:0)
试试这个:
function GetQueryStringParams(sParam) {
var sPageURL = window.location.search.substring(1);
var sURLVariables = sPageURL.split('&');
for (var i = 0; i < sURLVariables.length; i++) {
var sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] == sParam) {
return sParameterName[1];
}
}
}
var data = GetQueryStringParams('name');
答案 1 :(得分:0)
在“来源”页面上,将$("a.pass").text()
更改为$(this).text()
。您只需要点击<a>
元素的文字,但您需要获取所有<a>
元素的文字。
在目标网页上,将$("p.+'data'")
更改为$("p." + data)
。您的代码没有执行字符串连接,因为双引号内的所有内容都是单个字符串文字。