1

我有如下链接:

<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 访问它?谁能帮助我?

4

2 回答 2

1

您可以使用类似于 CSS 的基于 id 的选择器,如下所示:

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

有关更多信息,请参阅 jQuery ID 选择器

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

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

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

于 2010-10-15T06:49:03.043 回答
0

两种可能的选择

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

<a href="MyPage.aspx?id=1234" id="SomeCrazyIDGeneratedByASP.NET">text of the link</a>

这里的问题是生成的链接的 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 变量!

于 2010-10-15T07:32:42.060 回答