【问题标题】:Adding URL Parameters to a link within a document jquery将 URL 参数添加到文档 jquery 中的链接
【发布时间】:2015-09-24 12:13:24
【问题描述】:

我遇到了麻烦,从链接中获取参数并将它们附加到链接的末尾。我可以更改元素的文本,但不能更改属性。请参阅我的不工作示例。

$(document).ready(function() {
            var urlParams = window.location.search;
            if (urlParams) {
                // remove leading '?' if present
                var cleanUrlParams = (urlParams[0]=='?') ? urlParams.substring(1, urlParams.length) : urlParams;

                // remove leading and trailing '&' if present
                var cleanUrlParams = (cleanUrlParams[0]=='&') ? cleanUrlParams.substring(1, cleanUrlParams.length) : cleanUrlParams;
                var cleanUrlParams = (cleanUrlParams[cleanUrlParams.length - 1]=='&') ? cleanUrlParams.substring(0, cleanUrlParams.length - 1) : cleanUrlParams;

                // include only the url params with values
                var includeUrlParams = "";
                var urlParamPairs = cleanUrlParams.split("&");
                for (var i = 0; i < urlParamPairs.length; i++) {
                    var splitUrlParamPair = urlParamPairs[i].split("=");
                    if ((splitUrlParamPair.length == 2) && (splitUrlParamPair[1].length > 0)) {
                        if (includeUrlParams.length > 0) {
                            includeUrlParams = includeUrlParams + "&";
                        }
                        includeUrlParams = includeUrlParams + urlParamPairs[i];
                    }
                }

                // if there are url parameters then append them to something in the DOM
                if (includeUrlParams.length > 0) {
                    $(".editMyUrlParams").attr("href" + includeUrlParams);
                }
            }
        });

然后这样称呼它

<a class="editMyUrlParams" href="http://thisisawebsite.com/">This is a link</a>

这是我想错的地方。如果我将以下内容更改为文本 - 它可以工作

if (includeUrlParams.length > 0) {
                    $(".editMyUrlParams").text("There are the params: " + includeUrlParams);
                }

所以我知道我遗漏了一些东西,我可以将属性附加到 href 的末尾并得到这样的结果

<a class="editMyUrlParams" href="http://thisisawebsite.com/?param1=this1&param2=this2">This is a link</a>

提前感谢您的帮助

【问题讨论】:

    标签: javascript jquery url parameters


    【解决方案1】:

    使用 jQuery .attr() 方法:

    $(".editMyUrlParams").attr('href', $(".editMyUrlParams").attr('href') + stringToAppend);
    

    或者更好:

    var $elements = $(".editMyUrlParams");
    var oldHrefValue = $elements.attr('href');
    var newHrefValue = oldHrefValue + stringToAppend;
    $elements.attr('href', newHrefValue);
    

    【讨论】:

      猜你喜欢
      • 2023-04-04
      • 1970-01-01
      • 2014-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多