Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 26.10.2017, 18:35
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 403

Спасибо. Очень близко... Попробовал на такой верстке:
<div class="parent">
		<div class="one">one</div>
		<div class="one">two</div>
	</div>
	<div class="parent">
		<div class="one">one</div>
		<div class="one">two</div>
	</div>
	<span class="disabled">span</span>

disabled убирается если во всех элементах one есть класс active. А нужно, чтобы activ был только в одном из элементов one? в каждом parent.
Ответить с цитированием
  #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>
Ответить с цитированием
  #13 (permalink)  
Старый 26.10.2017, 19:41
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 403

Круто! Прошу прощения, что еще раз беспокою. Еще одна проблема. В разметке есть еще одна сущность. Конечная верстка выглядит так:
<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>
	<div class="parent">
		<input type="checkbox" id="spoiler">
		<label for="spoiler">Выберите дату</label>
	</div>
	<span class="disabled">span</span>

Для удаления disabled нужно произвести проверку, есть ли в parent label, и если есть, то label должен тоже иметь класс active, если label отсутствует, значит он не влияет на span. Спасибо заранее.
Ответить с цитированием
  #14 (permalink)  
Старый 26.10.2017, 20:16
Профессор
Отправить личное сообщение для Янковиц Посмотреть профиль Найти все сообщения от Янковиц
 
Регистрация: 17.11.2014
Сообщений: 403

Кроме того если в контейнере есть изображение <div class="one">img</div>, то скрипт не работает.
Ответить с цитированием
  #15 (permalink)  
Старый 26.10.2017, 22:10
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

Сообщение от Янковиц
Для удаления disabled нужно произвести проверку, есть ли в parent label, и если есть, то label должен тоже иметь класс active, если label отсутствует, значит он не влияет на span. Спасибо заранее.
Проще всего label добавить класс - one
Сообщение от Янковиц
Кроме того если в контейнере есть изображение <div class="one">img</div>, то скрипт не работает.
24 строка
if (e.target.classList.contains(target) || e.target.closest('.'+target)) {
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка на наличие класса dema8912 jQuery 3 14.05.2015 14:17
Проверка наличия класса на странице milanac jQuery 5 24.11.2013 17:53
Использование классов в JavaScript devote Ваши сайты и скрипты 70 01.02.2013 17:17
Проверка наличия в массиве с условием spo jQuery 3 05.01.2013 15:05
проверка наличия определенного класса из нескольких shaltay jQuery 1 20.10.2011 20:14