<分区>
标签 javascript jquery html css
如果当前页面 URL 在查询字符串中有参数“myid1”或“myid2”,对于我网页中类为“rewrite”的每个链接,我希望链接 href 的查询字符串被当前页面 URL 的查询字符串替换。我正在使用下面给出的代码。由于我是 javascript 的新手,我不确定它是否经过优化。我希望它尽可能快地执行。请帮忙。提前致谢:)
<script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js'></script>
<script type="text/javascript">
$(function() {
var requestid = gup('myid1');
if (requestid) {
$("a.rewrite").each(function() {
var base = this.href;
var pos = base.indexOf("?");
if (pos != -1) {
base = base.substr(0, pos);
}
this.href = base + "?myid1=" + requestid;
})
}
var requestid2 = gup('myid2');
if (requestid2) {
$("a.rewrite").each(function() {
var base = this.href;
var pos = base.indexOf("?");
if (pos != -1) {
base = base.substr(0, pos);
}
this.href = base + "?myid2=" + requestid2;
})
}
})
function gup( name )
{
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null )
return "";
else
return results[1];
}
</script>
<a href="http://www.website.com/?someid=1234" class="rewrite">Hyperlink</a>
最佳答案
$(function() {
var requestid = gup('myid1');
var requestid2 = gup('myid2');
if (requestid || requestid2) {
$("a.rewrite").each(function() {
var base = this.href;
var pos = base.indexOf("?");
if (pos != -1) {
base = base.substr(0, pos);
}
if (requestid){
this.href = base + "?myid1=" + requestid;
if (requesid2){
this.href += "?myid2=" + requestid;
}
} else {
this.href = base + "?myid2=" + requestid;
}
})
}
});
关于javascript - 这个javascript代码可以优化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8122147/