【问题标题】:capture link text and append to the URL as query string捕获链接文本并作为查询字符串附加到 URL
【发布时间】:2011-12-30 01:04:26
【问题描述】:

我想捕获锚链接标记之间的文本并将其作为查询字符串传递给 href 值,因此它看起来像 http://mysite.com/events/Pages/default.aspx?cat=cancer

我不能手动添加的原因是因为两者之间的值是动态的。如何使用 jquery 或 javascript 捕获并附加到 url??

或者我也可以,如果点击了 Cancer 链接,将其定向到 http://mysite.com/events/Pages/default.aspx?cat=cancer

<a href="http://mysite.com/events/Pages/default.aspx?cat="> Cancer</a>

【问题讨论】:

    标签: javascript jquery url anchor


    【解决方案1】:
    $("a").on("click", function (e) {
        e.preventDefault();
        window.location = this.href + $.trim($(this).text());
    });
    

    或者您可以替换每个链接的href 属性:

    $("a").prop("href", function () {
        return this.href += $.trim($(this).text());
    });
    

    然后单击每个链接将自动正确引导用户。您的选择器($("a") 应该更具体,具体取决于您的标记)

    示例: http://jsfiddle.net/6U749/

    编辑:如果你必须内联,这里有一种方法:

    <a href="http://mysite.com/events/Pages/default.aspx?cat=" onclick="window.location.href = this.href + $.trim($(this).text());"> Cancer</a>
    

    【讨论】:

    • 谢谢。我想在链接本身上添加 onclick 事件,如下所示:(标签 HREF 值 onclick 带我到 HREF 值+LinkText)(关闭标签)
    • @AnjuThapa:第二种方法应该可以做到这一点。考虑将您的标记 (HTML) 与您的行为 (JavaScript) 完全分开,以获得更易于维护的代码。
    • 我知道你的意思,但我在 XSL 文件中是这样的:onClick="location.href='mysite.com/events/Pages/test1.aspx?kwd='+ document.getElementById('EventSearchBox').value;
    • 暂时,你能告诉我你如何在线实现同样的事情吗?为链接提供 id 并在其上获取 getelemendbyid 并获取其值?
    • @AnjuThapa:当然,我现在明白你的问题了。
    【解决方案2】:

    你可以这样做:

    $('.someClassImStickingOnLinksThatNeedThisBehavior').each(function()
    {
        this.href = $.trim(this.href) + $.trim(this.innerHTML);
    });
    

    然后,对于任何链接,它会自动将 HREF 更新为当前 HREF 加上节点的值。

    【讨论】:

      【解决方案3】:

      你可以这样做:

      var yourlink = $("#youlink");
      var href = yourlink.attr("href");
      var text = yourlink.html();
      
      yourlink.attr("href", href + "?cat=" + text);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多