繁体   English   中英

使用 Jquery 将查询字符串附加到 URL

[英]Append Query String to URL with Jquery

我究竟做错了什么?

  1. 仅在 URL 位置为“/MyWebsite/Example.aspx”的页面上附加“?template=PW”
  2. 但仅限于包含“/HelloWorld/default.aspx”的链接

没有与此链接关联的 ID 或类,因此我必须查找 URL。

这是我的代码,但链接没有更新..我知道我很接近!

$(document).ready(function(){
    if (document.location.href.indexOf('/MyWebsite/Example.aspx') > 0)  
        {
            $('a[href*="/HelloWorld/default.aspx"]').append("href",$("?template=PW"))
        }
});
$(document).ready(function(){
    if (document.location.href.indexOf('/MyWebsite/Example.aspx') > 0)  
        {
            var $el = $('a[href*="/HelloWorld/default.aspx"]');
            $el.attr("href", $el.attr("href")+ "?template=PW");
        }
});

使用 $.attr() 编辑属性。

$.append() 用于在元素中插入一个 html 子节点。

$(document).ready(function(){
    if (document.location.href.indexOf('/MyWebsite/Example.aspx') > 0)  
        {
            var href = '/HelloWorld/default.aspx';
            $('a[href*="' + href + '"]').attr("href", href + "?template=PW")
        }
});

这肯定会像我一样解决您的问题。

<script type="text/javascript">
    var querystring = 'MyString'; // Replace this
    $('a').each(function(){
        var href = $(this).attr('href');
        href += (href.match(/\?/) ? '&' : '?') + querystring;
        $(this).attr('href', href);
    });
</script>

代替

$('a[href*="/HelloWorld/default.aspx"]').append("href",$("?template=PW"))

$.each(
    $('a[href*="/HelloWorld/default.aspx"]'),
    function(index, value) {
        $(value).attr('href', $(value).attr('href') + '?template=PW');
    }
);

这将使您开始,但您还应该检查以确保匹配的 URL 中没有查询字符串参数。

$().append()不会改变 href 属性的值,它用于在每个匹配元素的末尾插入内容。 jQuery 文档提供了如何使用$().append()示例。

你考虑过使用PURL吗? 使用 PURL 我能够做到这一点:

var url = "http://localhost/some/url?item1=one&item2=two";
if ($.url(url).attr('query')) {
    url = url + '&newItem=new';
}
else {
    url = url + '?newItem=new';
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM