我的链接如下:
<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访问它?任何人都可以帮助我吗?
答案 0 :(得分:1)
您可以使用基于类似于CSS的id的选择器,如下所示:
$('#lnkTitle')
$('#linkOwner')
See jQuery ID Selector for more info
如果您想获得id
值,可以使用attr
方法:
$('#container a').each(function(){
alert($(this).attr('id'));
});
each
方法用于循环包装集(您在选择器中指定的内容)。请注意,container
被假定为包含链接的元素的ID。
答案 1 :(得分:0)
两种可能的选择
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
...为了做到这一点,你必须{从.aspx文件中可见{1}}。然后在.aspx文件中,执行类似的操作
userId
然后你可以将它用作任何javascript变量!