通过包含在jquery中的字符串选择.net控件

时间:2016-06-29 11:14:25

标签: jquery asp.net jquery-selectors

我在asp.net工作,我有两个这样的图像按钮:

<asp:ImageButton runat="server" ID="Hosciz" ImageUrl="../image/ciz1.png" Width="20px"Height="20px" AlternateText="bla bla" />

<asp:ImageButton runat="server" ID="Hosciz2" ImageUrl="../image/ciz1.png" Width="20px"Height="20px" AlternateText="bla bla again" />

就像你看到两个imagebutton id包含&#39; Hosciz&#39;字符串,所以我想我可以使用id包含的.each()函数。我知道有类似

的东西
$("div[id*='Hosciz']").each(function(){.....});

有没有办法用图像按钮或其他.net控件而不是像div这样的html控件?我的意思是,但是怎么样?

我知道我可以像

那样解决这个问题
$("#<%=Hosciz.ClientID%>").click(function(){ 'do whatever you want' });

$("#<%=Hosciz2.ClientID%>").click(function(){ 'do whatever you want' });

但是就像说我只是想知道是否有办法用each()函数做到这一点?

1 个答案:

答案 0 :(得分:2)

在图片上使用class属性:

<asp:ImageButton runat="server" CssClass="hosciz" ID="Hosciz" ImageUrl="../image/ciz1.png" Width="20px"Height="20px" AlternateText="bla bla" />
<asp:ImageButton runat="server" CssClass="hosciz" ID="Hosciz2" ImageUrl="../image/ciz1.png" Width="20px"Height="20px" AlternateText="bla bla again" />

并在jquery中使用类选择器

$(".hosciz").each(function(){.....}); 

$("div.hosciz").each(function(){.....}); 

它还有一个额外的好处,就是让你在图像的css中使用一个共同的风格。

或者,使用ClientIDMode =&#34; Static&#34;,以确保html中的id与asp ClisentID匹配。这当然会带来其他问题 - 您需要确定ID是唯一的,但在html选择器中会带来性能提升。

<asp:ImageButton runat="server" ClientIDMode="Static"  ID="Hosciz" ImageUrl="../image/ciz1.png" Width="20px"Height="20px" AlternateText="bla bla" />
<asp:ImageButton runat="server" ClientIDMode="Static" ID="Hosciz2" ImageUrl="../image/ciz1.png" Width="20px"Height="20px" AlternateText="bla bla again" />

和jquery,

$("#Hosciz, #Hosciz2").each(function(){.....});