【问题标题】:How to collect information from navigate url and anchor link using jquery?如何使用 jquery 从导航 url 和锚链接中收集信息?
【发布时间】:2011-04-25 19:11:49
【问题描述】:

我的链接如下:

<asp:HyperLink ID="lnkTitle" runat="server" CssClass="itemTitle" >
                                </asp:HyperLink>
<a id="linkOwner" runat="server" class="authorName"></a>

我在运行时从后面的代码中分配 NavigateUrl,例如:

 lnkTitle.NavigateUrl = "MyPage.aspx?id=" + userID;

 linkOwner.HRef= "MyPage.aspx?id=" + userID;

(其中 userID 是整数类型变量)对于这两种情况,我都需要从 js 文件中的导航 url 访问 id 值。如何使用 jquery 访问它?谁能帮助我?

【问题讨论】:

    标签: jquery hyperlink anchor href navigateurl


    【解决方案1】:

    两种可能的选择

    • 在 jQuery 中,获取生成链接的 href 属性,然后从那里提取 userId:您输入的代码隐藏将导致生成类似

    &lt;a href="MyPage.aspx?id=1234" id="SomeCrazyIDGeneratedByASP.NET"&gt;text of the link&lt;/a&gt;

    这里的问题是生成的链接的 ID 可能会有所不同......这使得使用 jQuery 选择器在页面中更难找到链接。我建议为您的链接添加一个特定的 CSS 类,例如 user-page。然后你可以做这样的事情,我想:

    /*extract the href attribute from the link, and get the item after the last "=" sign*/
    var href = $('a.user-page').attr('href');
    var split = href.split("=");
    /*reverse it and take the first item (used to be last)*/
    var userId = split.reverse()[0];
    alert(userId);
    
    • 我通常更喜欢的另一个选项是直接在 Javascript 中公开一个服务器端变量,例如 userId...为了做到这一点,您必须使 userId 从.aspx 文件。然后在你的 .aspx 文件中,做类似的事情

      <script type="text/javascript"> var userId = <%=userId%>; alert(userId); </script>

    然后你可以将它用作任何 javascript 变量!

    【讨论】:

      【解决方案2】:

      您可以像这样使用基于 id 的选择器,类似于 CSS:

      $('#lnkTitle')
      $('#linkOwner')
      

      See jQuery ID Selector for more info

      如果要获取id的值,可以使用attr方法:

      $('#container a').each(function(){
         alert($(this).attr('id'));
      });
      

      each 方法用于循环包装集(您在选择器中指定的内容)。请注意,container 被假定为包含您的链接的元素的 ID。

      【讨论】:

      • 我不确定这是 ANP 的要求...他说的是链接的href 中传递的一些数据,而不是元素的id... 我会试一试!
      • @tsimbalar:我已经发布了我能理解的内容,你可能是对的;让我们看看 OP 是什么 :)
      猜你喜欢
      • 2014-04-02
      • 1970-01-01
      • 1970-01-01
      • 2017-11-01
      • 1970-01-01
      • 2018-11-29
      • 2020-02-10
      • 2013-06-25
      • 1970-01-01
      相关资源
      最近更新 更多