Mam trochę biblioteki JS, to po kliknięciu do elementu HTML zmienia swoją klasę. Chciałbym napisać funkcję, która sprawdziłaby, czy klasa została zmieniona, a następnie dodaj obraz do tego elementu. czy możesz mi z tym pomóc?

Dzięki!

1
Krystian 22 listopad 2011, 12:26

3 odpowiedzi

Najlepsza odpowiedź
$("#elemID").click(function() {
    $("#div").removeClass('a');
    $("#div").addClass('b');
    if ($("#div").attr('class') == 'b') {
        $("#div").append("<p>Hello</p>");
    } 
});

Lub

$("#elemID").click(function() {
    $("#div").removeClass('a');
    $("#div").addClass('b');
    if ($("#div").hasClass('b')) {
        $("#div").append("<p>Hello</p>");
    } 
});
0
Ariful Islam 22 listopad 2011, 09:25

Co możesz kontynuować Krystianem, to ten Everytine u kliknięcia na elemencie, dodaj klasę "Say classclicked". Następnie z pomocą HASCLASS możesz dowiedzieć się, że klasa przymocowana do tego elementu. Jeśli spełnia twój stan, dodaj obraz. Lub jeśli klasa zmienia się na każdym kliknięciu i znasz nazwę zmienionej klasy, po prostu sprawdź za pomocą

Jeśli ($ (to) .Hasclass ("b")) {rób twoją akcję}

Mam nadzieję że to pomoże.

0
Premanshu 22 listopad 2011, 09:18

Jeśli używasz jQuery, spróbuj tego:

$(document).ready(function() {
    // get the class that's set on page load
    var current = $('#element').attr('class');
    $('#element').click(function(e) {
        if ($(this).attr('class') != current) {
            // class has been changed, do something
        }
    });
});

Oto przykład w JSFiddle.net.

Zastrzeżenie: Bez więcej szczegółów na temat , które elementy mają onclick słuchacze zdarzeń, które zmieniają , które Klasa ", nie mogę podać prawdziwego kodu pracy dla Ciebie. Zamiast tego mogę dać ci tylko trochę logiki, którą właśnie zrobiłem.

4
Yes Barry 22 listopad 2011, 08:39