2011-10-18 48 views
1
$("*[id$='blahblah']") 

是一個很好的方式,但並不完美的時候需要一個優雅的解決方案來選擇jQuery的webform的DOM元素?

<asp:Button ID="chk" runat="server" Text="chk" /> 
<asp:Button ID="unchk" runat="server" Text="unchk" /> 

有一個簡單的& &優雅的方式來選擇它們精確? (如

if(id.indexOf('$')!=-1){/*blahblah*/} 

一個複雜的功能當然不是簡單& &優雅)

回答

1

框架是你的朋友。

如果您使用的是ASP.NET 4.0+,則可以使用此類控件的ClientIDMode屬性。

<asp:Button ID="chk" runat="server" Text="chk" ClientIDMode="Static"/> 
<asp:Button ID="unchk" runat="server" Text="unchk" ClientIDMode="Static"/> 

如果將模式設置爲靜態控件的ID不會改變不管。 (即,在母版頁和所有)。現在你可以優雅地稱呼它。

var b1 = $('#chk'); 
var b2 = $('#unchk'); 

對我來說看起來很優雅的另一種方式是給按鈕CssClass,然後使用類的選擇器。即,.classname

+0

它coooool但我們仍然使用.NET3.5: ( – rhapsodyn

0

不是真的知道什麼是你問在這裏,但看看jQuery('#id')

所以,你可以有:

var ckeck = $('#chk'); 
var unckeck = $('#unchk'); 
0

您可以使用<%=%>在您的標記搶控件的ID,如果你不使用ASP.NET 4+

<asp:Button ID="example" Text="I should be hidden" runat="server" /> 
<script type="text/javascript"> 
    $(function() { 
     $('#<%= example.ClientID %>').hide(); 
    }); 
</script> 
相關問題