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ファイルのnavigateurlからid値にアクセスする必要があります。jqueryを使用してアクセスするにはどうすればよいですか?

4

2 に答える 2

1

次のように、CSSと同様のIDに基づいてセレクターを使用できます。

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

詳細については、jQueryIDSelectorを参照してください

値を取得する場合は、次の方法idを使用できます。attr

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

このeachメソッドは、ラップされたセット(セレクターで指定したもの)をループするために使用されます。containerこれは、リンクを含む要素のIDであると見なされることに注意してください。

于 2010-10-15T06:49:03.043 に答える
0

2つの可能なオプション

  • jQueryhrefで、生成されたリンクの属性を取得し、そこから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で直接など、サーバー側の変数を公開するuserIduserIdことです...これを行うには、.aspxファイルから表示できるようにする必要があります。次に、.aspxファイルで次のようにします

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

次に、それを任意のjavascript変数として使用できます!

于 2010-10-15T07:32:42.060 に答える