【发布时间】:2016-08-23 15:10:43
【问题描述】:
我试图在查询字符串中找到一个参数并处理两件事。
示例网址 - http://domainname.com?name=y&track=1&promo=true
- 将这些查询字符串附加到页面上的所有 url - 我相信这很好。
-
为其中包含特定字符串的 url 更改 href url 本身,然后附加查询字符串。这些 href 以不同的方式存在,例如 href 标签、onclick inside image 标签。
<a href="http://externaldomain.com/?a=88">link</a>, <img src="a.jpg" onclick = document.location.href="http://externaldomain.com/?a=88" />
到目前为止要做第一件事的代码
var querystring = window.location.search.substring(0);
var newurl = "http://changetothisdomain.com/"; //for second criteria
jQuery(document).ready(function() {
jQuery('a[href]').attr('href', function(index, value) {
if ((querystring.indexOf("promo=true") > 0) && (value.indexOf('#') != 0)) {
return value + querystring;
}
});
});
我有这个 value.indexOf('#')!=0 这样带有 # 的网址不会更改,因为它是用于 jquery 选项卡的。向这些添加参数会影响这一点。第二件事,我想检查 promo=true 是否存在于 querystring 中,然后检查 href 是否有“a=88”,然后将 href 更改为“newurl”并附加 querystring。
谢谢!
【问题讨论】:
-
我在我的手机上,试图给你一个更通用的脚本,所以你可以这样做
if (getParm("promo")=="true" && getParm("a")=="88")由于你没有使用这样的脚本,我假设你没有找到它 -
好的,谢谢。只是搜索链接不清楚,所以我这样回答。将研究 getparam 方法。再次感谢
标签: jquery query-string