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

时间:2013-05-06 23:04:58

标签: jquery

我做错了什么?

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

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

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

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

5 个答案:

答案 0 :(得分:4)

$(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");
        }
});

答案 1 :(得分:3)

使用$ .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")
        }
});

答案 2 :(得分:1)

替换

$('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');
    }
);

这将帮助您入门,但您还应检查以确保匹配的网址中已存在查询字符串参数。

$()。append()不会改变href属性的值,它用于在每个匹配元素的末尾插入内容。 jQuery documentation包含如何使用$()。append()。

的示例

答案 3 :(得分:1)

您考虑过使用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';
}

答案 4 :(得分:1)

这肯定会解决你的问题,就像它一样。

<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>