1

Тема: jQuery перевірка на присутність класів зразу в кількох елементах

Підкажіть як реалізувати
Треба щоб виконувалась дія тільки при наявності вказаних класів в всіх елементах

<form class="calc">
        <input class="kv" type="text" id="a" pattern="\d*">
        <span>x&#178; + </span>
        <input class="kv" type="text" id="b" pattern="\d*">
        <span>x + </span>
        <input class="kv" type="text" id="c" pattern="\d*">
        <span> = 0</span>
        <button class="button button-active">Знайти</button>    
    </form>

------------------------------------------------------------------------------------

$('.kv').on('input', function(e){
    var thisJQ=$(this);
    var classS='border-gray';
    var classD='border-red';
    var classV='border-green';
    if(thisJQ.val().length>0){
        if(thisJQ.hasClass(classS))
            thisJQ.removeClass(classS);
        if(thisJQ.hasClass(classD))
            thisJQ.removeClass(classD);
        if(!thisJQ.hasClass(classV))
            thisJQ.addClass(classV);
    }else{
        if(thisJQ.hasClass(classS))
            thisJQ.removeClass(classS);
        if(thisJQ.hasClass(classV))
            thisJQ.removeClass(classV);
        if(!thisJQ.hasClass(classD))
            thisJQ.addClass(classD);
    }
        //ця умова
    if($('.kv').hasClass(classV)){
        alert('lll');
    }
});

2 Востаннє редагувалося Monolith (19.04.2017 21:36:51)

Re: jQuery перевірка на присутність класів зразу в кількох елементах

Ну як варіант просто перевірити чи вони присутні(код не перевіряв):

if ( thisJQ.hasClass(classS) && thisJQ.hasClass(classD) && thisJQ.hasClass(classV ) // code

Або можна вивернутися та ввести ще одну змінну якій виставити true і міняти на false якщо даний клас не присутній(у кожному if-і так перевіряти), а в кінці перевірити значення цієї змінної та в залежності від нього виконати дію. Але це вже так...Фантазую.

Сподіваюся правильно зрозумів задачу.

Подякували: 221VOLT1

3

Re: jQuery перевірка на присутність класів зразу в кількох елементах

Якщо #myelement має і .class1, і .class2:

if ($('#myelement').is('.class1, .class2')) { ... }

Якщо усі div елементи мають .awesome:

if ($("div").filter(".awesome").length){ ... }
Подякували: bvn1