webBG - програмисти, машинно обучение, javascript, python, php, питам, говорим, публикации

използване на jquery за задаване на клас на елемент

Получих следния 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;
    });

Това добавя син фон зад името "Град (2)", но не и основните divs, което искам.

Това е div с клас "cityByLocation", към който бих искал да добавя класа locationSelected.

Редактиране:

В крайна сметка използвах

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

return false; });
26.11.2012

  • Няма ли $(this).eq($(this).index()) да е същото като $(this)? 26.11.2012
  • Изглежда си прав. Толкова съм объркан с избора на jquery 26.11.2012

Отговори:


1

Вместо да използвате toggleClass, използвайте addClass

$(this).eq($(this).index()).addClass("locationSelected");
26.11.2012
  • +1 за правилен отговор в контекста на кода на OP, но ме поправете, ако греша... $(this).eq($(this).index()) === $(this) 26.11.2012
  • $(this).addClass(locationSelected); има повече смисъл тук 26.11.2012

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

    Използвайте това, ако искате само да добавите класа, но използвайте toggleClass вместо това, ако искате да го премахнете при редуващи се кликвания.

    26.11.2012
  • Това изглежда най-близо до отговорите, но пак няма да работи. Опитвал съм точно това преди. Някакви други идеи? 26.11.2012
  • Това проработи. Плаването в моите divs го караше да изглежда така, сякаш не е така. 26.11.2012
  • Изглежда не мога да поддържам li cityInfo на един ред. Някакви идеи, ако не мога да ги пусна? 26.11.2012
  • Можете, но трябва да им дадете изрични ширини. Ако все още се съмнявате, можете да зададете отделен въпрос за това (би било извън темата да разширите тази дискусия тук). 26.11.2012
  • Свършен. stackoverflow.com/questions/13569589 / 26.11.2012

  • 3

    Бих предложил, ако приемем, че искате да добавите имената на класовете към елементите div, вложени в съседните div и ul:

    $(this).next('.cityByLocation').find('div').addClass('locationSelected');
    
    26.11.2012
    Нови материали

    Извличане на данни от API — част 2
    Научете как можете да филтрирате филми въз основа на различни категории. Моля, вижте предишния урок (Част 1) : Как да извличам данни от истински API — React / JS..

    Как да предотвратите влизането на някой от вашата кодова база
    // TLDR TypeScript добавя статично въвеждане към JavaScript, улавяйки грешки като препращане към променливи извън обхвата или извикване на функции с грешни аргументи. Той е несъвършен и има..

    Анализ на настроението с помощта на логистична регресия и наивен Бейс
    Нека сравним кой алгоритъм е по-добър за класифициране на туитовете въз основа на техните чувства. Наблюдаван ML При контролираното машинно обучение обикновено имате вход X, който влиза във..

    Нови тенденции в AI и спорта
    Изкуственият интелект е авангардна технология, която дава възможност на машините да изпълняват задачи, които обикновено изискват човешки интелект, като вземане на решения, разпознаване на реч и..

    Графични теоретични алгоритми
    Автори:- Yash Gaherwar , Tanishq Deshpande , Devanshu Dalal , Avinash Dhakne В тази статия ще обсъдим една от най-важните теми на „ Анализ на дизайна на алгоритми“ , т.е. Графика . Ще..

    Samsung и услугата Polyfill
    Като разработчик харесвам услугата polyfill. Използвайки го, поправих стари проблеми със съвместимостта на IE, като добавих един маркер за скрипт. Полифилът е скрипт, внедряващ функция от..

    Оцветяване на графика Sudoku с Neo4j
    Бях щастлив да видя, че скорошна версия на графичните алгоритми Neo4j съдържа алгоритъма за оцветяване K-1 . Този алгоритъм се опитва да присвои цветове на възлите на графика по такъв начин, че..