2016-10-10 40 views
0

我有一个ASP.NET repeater元素用作可点击菜单。我使用jQuery来设置img src来指示当前选择哪个项目。我有一个可行的解决方案,但我想知道是否有更优雅的方式来使用jQuery ......我的解决方案类似于解决方法。使用jQuery在回发上设置img src

我的HTML:

<div class="c_menuDiv"> 
    <img src="images/check_white.jpg" id="img_check" class="cd_checkImage" width="20px" > 
    <asp:Label ID="lblIssuedTo" runat="server" Text='<%#Bind("IssuedTo")%>'> 
    </asp:Label> 
</div> 

而且我的jQuery,在文件准备:

$('.c_menuDiv').each(function() { 
    issuedToBox = $('#txt_issuedTo').val();   <<== FROM A TEXTBOX 
    issuedToMenu = $(this).children("span").html(); 
    if (issuedToBox == issuedToMenu){ 
     $(this).find('img:first').attr('src','images/check_selected.jpg'); 
     } 
    }) 

我的问题是,是否有使用jQuery和避免js的IF语句更优雅的方式?我只问,因为我想提高我的jQuery技能。

感谢您的任何建议。

+0

它可能会更有帮助后生成的HTML,而不是你的服务器端码? – adeneo

+1

没有什么能够以速度或可读性击败'if'。 jQuery中的 – Teemu

+0

如果语句速度很快。不要担心jquery的速度也很快 –

回答

1

你可以在没有jQuery的情况下做同样的事情。除非你有其他原因使用它...

<div class="c_menuDiv"> 
    <asp:Image ID="Image1" runat="server" ImageUrl="/images/check_white.jpg" /> 
</div> 

,然后回发只是改变ImageUrl

Image1.ImageUrl = "/images/check_selected.jpg";