У меня есть элемент ul
:
<ul id = "listA">
<li class = "myclass">1</li>
<li class = "myclass">2</li>
<li class = "myclass">3</li>
<li class = "myclass">4</li>
<li class = "myclass">5</li>
<li>
<ul id = "listB">
<li class = "myclass">B1</li>
<li class = "myclass">B2</li>
<li class = "myclass">B3</li>
<li class = "myclass">B4</li>
</ul>
</li>
</ul>
Я хочу получить все элементы по имени класса myclass
, которых нет в ul
с идентификатором listB
.
Мои попытки с $('.myclass:not ul #listB')
не сработают.
Вы можете использовать not
следующим образом:
const res = $('*:not(ul#listB) > .myclass');
console.info(res);
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul id = "listA">
<li class = "myclass">1</li>
<li class = "myclass">2</li>
<li class = "myclass">3</li>
<li class = "myclass">4</li>
<li class = "myclass">5</li>
<li>
<ul id = "listB">
<li class = "myclass">B1</li>
<li class = "myclass">B2</li>
<li class = "myclass">B3</li>
<li class = "myclass">B4</li>
</ul>
</li>
</ul>
@ relo80 добро пожаловать. Пожалуйста, отметьте ответ как решение, если он решил проблему.
Вы можете указать более 1 имени класса. Итак, дайте класс listA для li, которые находятся в listA
<ul id = "listA">
<li class = "myclass inListA">1</li>
<li class = "myclass inListA">2</li>
<li class = "myclass inListA">3</li>
<li class = "myclass inListA">4</li>
<li class = "myclass inListA">5</li>
<li>
<ul id = "listB">
<li class = "myclass">B1</li>
<li class = "myclass">B2</li>
<li class = "myclass">B3</li>
<li class = "myclass">B4</li>
</ul>
</li>
</ul>
А теперь используйте это так $('.inListA')
. Поможет думаю!
Используйте $('.myclass').not('#listB .myclass')
$('.myclass').not('#listB .myclass').css('color', 'red')
<script src = "https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul id = "listA">
<li class = "myclass">1</li>
<li class = "myclass">2</li>
<li class = "myclass">3</li>
<li class = "myclass">4</li>
<li class = "myclass">5</li>
<li>
<ul id = "listB">
<li class = "myclass">B1</li>
<li class = "myclass">B2</li>
<li class = "myclass">B3</li>
<li class = "myclass">B4</li>
</ul>
</li>
</ul>
о, хорошо, спасибо, теперь я вижу, в каком направлении мне нужно создавать синтаксис. Большое спасибо!