Показать сообщение отдельно
  #12 (permalink)  
Старый 26.10.2017, 18:51
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

javascript some and every
Сообщение от Янковиц
А нужно, чтобы 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>
Ответить с цитированием