如何在转发器中的另一个div悬停时将类应用于转发器中的div

时间:2019-06-14 03:04:24

标签: jquery asp.net repeater

我有一个包含以下内容的中继器:

<div id="undercover" class="Price">
<span class="Location">UNDERCOVER</span><br />
<asp:label runat="server" ID="lblUndercover" Text="Price" CssClass="PriceLabel" /></div>

...中继器中还有其他东西,然后

<div id="containerUndercover">
<div class="BookButton">
<asp:LinkButton ID="btnBookUndercover" runat="server" CommandName="Undercover">BOOK</asp:LinkButton>
</div></div>

当“ containerUndercover” div悬停时,我需要对“ undercover” div应用一个附加类。

当div不在中继器中时,使用以下jQuery,这相对简单:

<script type="text/javascript">
$(function () {
    $('#containerUndercover').hover(function () {
        $('#undercover').addClass('PriceHover');
    }, function () {
        $('#undercover').removeClass('PriceHover');
    });
});

但是,当然,我无法将其应用于每个“ undercover”和“ containerUndercover” div,因为它们是重复的。我知道问题出在哪里,但找不到解决方案。

我曾尝试将runat="server"添加到div,然后尝试使用(例如)<%= containerUndercover.ClientID%>来获取其ID,但这只会引发错误并说“ containerUndercover不存在”

有没有办法做到这一点?

2 个答案:

答案 0 :(得分:0)

您可以使用其他方式来选择要悬停的元素,id并不是唯一的选择。例如CSS类

<div id="undercover" class="Price">
<span class="Location">UNDERCOVER</span><br />
<asp:label runat="server" ID="lblUndercover" Text="Price" CssClass="PriceLabel" /></div>
<!-- ... some other stuff in the repeater, and then -->
<div id="containerUndercover" class="container-undercover">
<div class="BookButton">
<asp:LinkButton ID="btnBookUndercover" runat="server" CommandName="Undercover">BOOK</asp:LinkButton>
</div></div>



<script type="text/javascript">
$(function () {
    $('.container-undercover').hover(function (e) {
        $(e.target).parent('.Price').addClass('PriceHover');
    }, function (e) {
        $(e.target).parent('.Price').removeClass('PriceHover');
    });
});

答案 1 :(得分:0)

在页面上对定位控件进行了一些修改,但是我有一些工作要做。这意味着将悬停功能应用于整个“ ButtonLeft” div,而不仅是按钮区域,而且我认为我的客户可以接受。

var aResult = new Result_Splash()
    {
        id = "Hello",
        version_code = " ",
        version_number = "World!"
    };

SomeClassDebug(aResult);