Показать сообщение отдельно
  #15 (permalink)  
Старый 14.06.2018, 10:48
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 403

Спасибо большое. Прошу прощения, что снова поднимаю свой вопрос.
Необходимо при загрузки вебстраницы запускать скрипт и проверять, есть ли активные элементы. Делаю так:
$(function() {
    var parent = $(".ex-type li"),
        child = $(".ex-ex li");
    function parent_filter( parent ) {
        event.preventDefault();
        var el = $(this);
        parent.not(el.toggleClass("act")).removeClass("act noclick");
        var id = el.data("id") + "";
        child.removeClass("act");
        if (el.is(".act")) {
        child.filter(function() {
            var data = $(this).data("parent");
            data = (data + "").split(/\s*,\s*/);
            return data.indexOf(id) !== -1
        }).addClass("act");
        parent.not(el).addClass("noclick");
        }
    }
    function children_filter( child ) {
        event.preventDefault();
        var el = $(this);
        child.not(el.toggleClass("act")).removeClass("act noclick");
        var data = $(this).data("parent");
        data = (data + "").split(/\s*,\s*/);
        parent.removeClass("act");
        if (el.is(".act")) {
        parent.filter(function() {
            var id = $(this).data("id") + "";
            return data.indexOf(id) !== -1
        }).addClass("act");
        child.not(el).addClass("noclick");
        }
    }
    parent.on("click", function(event) {
        var _this = jQuery(this);
        parent_filter(_this);
    })
    child.on("click", function(event) {
        var _this = jQuery(this);
        children_filter(_this);
    })
});

Однако, фильтр перестает работать. Подскажите, что я делаю не так? Проверял в console.log Почему-то, _this возвращает не DOM элемент.
Ответить с цитированием