Сообщение от Янковиц
|
А нужно, чтобы activ был только в одном из элементов one? в каждом parent.
|
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>javascript some and every</title>
</head>
<body>
<div class="parent">
<div class="one">one</div>
<div class="one">one</div>
</div>
<div class="parent">
<div class="one">one</div>
<div class="one">one</div>
</div>
<span class="disabled">span</span>
<script>
(function(span, hook, target, parent) {
var sp = document.querySelector('.'+span);
var tg = document.querySelectorAll('.'+parent);
document.addEventListener('click', function(e) {
if (e.target.classList.contains(target)) {
e.target.classList.toggle(hook);
var qf = [].every.call(tg, function(elem) {
return [].some.call(elem.children, function(el) {
return el.classList.contains(hook);
});
});
if (qf) sp.classList.remove(span);
}
});
})('disabled', 'active', 'one', 'parent');
</script>
</body>
</html>