javascript - 这个javascript代码可以优化吗?

标签 javascript jquery html css

<分区>


想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。

关闭 11 年前

如果当前页面 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/

上一篇:asp.net - 母版页中的按钮无法访问,其中按钮与主页中的 div 标记重叠。网站

下一篇:html - DL 中的溢出 - 弹出窗口的尺寸不会自动调整

相关文章:

javascript - 在javascript中将数组值转换为字符串

javascript - JQuery 从 HTML 元素 var 获取属性

javascript - 在数组内搜索数组

javascript - 如何使用 Angular 数据表将 "data-title"放入 <td> 而不使用 ng-repeat

html - 在悬停时在菜单项下方添加一行?

html - 即使显示 : none; 也难以隐藏导航子菜单

jquery - 使用HTML5播放音频文件

javascript - 使用 Angular 指令构建动态矩形

JQuery 第一次没有将背景图片设置为 div

javascript - 减少 Ajax 请求