Спасибо большое. Прошу прощения, что снова поднимаю свой вопрос.
Необходимо при загрузки вебстраницы запускать скрипт и проверять, есть ли активные элементы. Делаю так:
$(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 элемент.