使用jquery将类设置为元素

时间:2012-11-26 16:23:45

标签: javascript jquery css

我得到了以下Html:

<ul class="specs">
        <li>
            <div class="trigger">› City (2)</div>
            <div class="cityByLocation">
                <ul>
                    <li class="cityInfo">
                        <div class="cityName" style="float: left;">
                            › New York
                        </div>
                        <div class="cityDistance" style="float: left;">
                            430 miles
                        </div>
                        <div class="btn-take"></div>
                    </li>
                    <li class="cityInfo">
                        <div class="cityName" style="float: left;">
                            › Chicago
                        </div>
                        <div class="cityDistance" style="float: left;">
                            430 miles
                        </div>
                        <div class="btn-take"></div>
                    </li>
                </ul>
            </div>
        </li>
<ul>

当我点击“城市(2)”时,两个div都会出现。但是,我想为他们添加一个课程。

这是我现在的js:

$('.trigger').click(function ()
    {
        $(this).siblings('div').eq($(this).index()).toggle();

        $(this).eq($(this).index()).toggleClass("locationSelected");

        return false;
    });

这会在名称“City(2)”后面添加蓝色背景,但不会添加我想要的底层div。

它的div与类“cityByLocation”我想添加类locationSelected。

编辑:

我最终使用

  

$('。trigger')。click(function(){       。$(本).siblings( 'DIV')EQ($(本)的.index())切换();       $(本).toggleClass( “locationSelected”);       $(这).siblings( 'DIV')当量($(本)的.index())toggleClass( “locationSelected”);

return false; });

4 个答案:

答案 0 :(得分:4)

使用toggleClass

,而不是使用addClass
$(this).eq($(this).index()).addClass("locationSelected");

答案 1 :(得分:1)

$(this).siblings('.cityByLocation').addClass("locationSelected");

如果您只想添加该类,请使用该项,但如果您想要通过交替点击将其删除,请使用toggleClass

答案 2 :(得分:0)

.addClass("locationSelected");

答案 3 :(得分:0)

我建议您假设要将类名添加到嵌套在相邻divdiv中的ul元素:

$(this).next('.cityByLocation').find('div').addClass('locationSelected');