Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.04.2021, 14:32
Новичок на форуме
Отправить личное сообщение для mediafoks Посмотреть профиль Найти все сообщения от mediafoks
 
Регистрация: 07.04.2021
Сообщений: 5

Первый общий родитель
Добрый день!
Подскажите пожалуйста. Как получить первый общий родитель у одинаковых элементов.
Например: есть несколько одинаковых элементов, в моем случае это ссылки a.link
Как добраться до их первого общего родителя, в моем случае это div.general ?
Причем вложенность может быть любая, главное что, элементы одинаковые (т.е. определенный класс или data атрибут какой-то) и у них найти первый общий родитель. Иными словами если у этих элементов есть общий родитель, то найти его.
<div class="other">
     <div class="general">
         <div><a href="#" class="link" data-title="ok">ссылка</a></div>
         <div><a href="#" class="link" data-title="ok">ссылка</a></div>
         <div>
             <div><a href="#" class="link" data-title="ok">ссылка</a></div>
         </div>
     </div>
</div>

Последний раз редактировалось mediafoks, 07.04.2021 в 15:10.
Ответить с цитированием
  #2 (permalink)  
Старый 07.04.2021, 14:44
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,005

Какая-то размытая постановка задачи. Что есть "одинаковые элементы"? Это когда совпадают по тэгу и классу? А если есть несколько наборов одинаковых элементов, например, 2 штуки a.link и 2 штуки a.zzz ?
Ответить с цитированием
  #3 (permalink)  
Старый 07.04.2021, 14:53
Новичок на форуме
Отправить личное сообщение для mediafoks Посмотреть профиль Найти все сообщения от mediafoks
 
Регистрация: 07.04.2021
Сообщений: 5

Да, немного не точно описал. Имеется ввиду одинаковые элементы, например по классу, в моем случае a.link
Ответить с цитированием
  #4 (permalink)  
Старый 07.04.2021, 14:55
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,005

ну то есть надо найти первый попавшийся набор одинаковых элементов, и потом для этого набора найти общего родителя?
Ответить с цитированием
  #5 (permalink)  
Старый 07.04.2021, 14:57
Новичок на форуме
Отправить личное сообщение для mediafoks Посмотреть профиль Найти все сообщения от mediafoks
 
Регистрация: 07.04.2021
Сообщений: 5

Да. Известны какие-то элементы, например a.link, или например с каким-то одинаковым data атрибутом. И если у них есть общий родитель, то найти его.
Проще говоря, мне нужно получить класс их первого общего родителя.

Последний раз редактировалось mediafoks, 07.04.2021 в 15:47.
Ответить с цитированием
  #6 (permalink)  
Старый 07.04.2021, 16:35
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,707

<body>
<div class="other">
     <div class="general">
         <div><a href="#" class="link" data-title="ok">ссылка</a></div>
         <div><a href="#" class="link" data-title="ok">ссылка</a></div>
         <div>
             <div><a href="#" class="link" data-title="ok">ссылка</a></div>
         </div>
     </div>
</div>
<script>
const generalParent =(...chlds) => {
	let par = chlds[0]
	while (par = par.parentElement) {
		if (chlds.every(e => par.contains(e))) return par;
	}
	return null;
}

alert(generalParent (...document.querySelectorAll('a.link'))?.classList)
</script>
</body>
Ответить с цитированием
  #7 (permalink)  
Старый 07.04.2021, 16:45
Новичок на форуме
Отправить личное сообщение для mediafoks Посмотреть профиль Найти все сообщения от mediafoks
 
Регистрация: 07.04.2021
Сообщений: 5

Невероятно! Спасибо тебе добрый человек, всё отлично!
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Мой первый скрипт. Нужен совет! ArtemBielykh Элементы интерфейса 3 20.01.2017 22:45
Помогите развернуть первый блок в выпадающих списках? kate1988 Ваши сайты и скрипты 1 07.10.2013 13:55
Разворачивается только первый элемент в списке dezzignet jQuery 8 05.12.2012 14:51
Как при быстром многократном клике по кнопке обрабатывать только первый клик battrack jQuery 3 22.03.2012 10:47
первый опыт jquery. Вопросы. Titto jQuery 0 17.09.2008 10:32