11 ответов:
если вы хотите пересечение, просто напишите селекторы вместе без пробелов в между.
$('.a.b')Итак, для элемента, который имеет идентификатор
aклассыbиc, вы хотели написать:$('#a.b.c')
Вы можете сделать это с помощью
filter()функция:$(".a").filter(".b")
по делу
<element class="a"> <element class="b c"> </element> </element>вам нужно будет поставить пробел между
.aи.b.c$('.a .b.c')
проблема, с которой вы столкнулись, заключается в том, что вы используете
Group Selector, в то время как вы должны использоватьMultiples selector! Чтобы быть более конкретным, вы используете$('.a, .b')в то время как вы должны использовать$('.a.b').для получения дополнительной информации см. обзор различных способов объединить селекторы ниже!
Группа Селектора : ","
выделить все
<h1>элементы и все<p>элементы и все<a>элементы :$('h1, p, a')кратные селектор: "" (без символа)
выделить все
<input>элементовtypetextСcodeиred:$('input[type="text"].code.red')селектор потомка : "" (пробел)
выделить все
<i>внутри<p>элементы:$('p i')Селектор Ребенка : ">"
выделить все
<ul>элементы, которые являются непосредственными потомками a<li>элемент:$('li > ul')Селектор Соседних Братьев И Сестер : "+ "
выделить все
<a>элементы, которые помещаются сразу после<h2>элементы:$('h2 + a')Общий Селектор Братьев И Сестер:"~"
выделить все
<span>элементы, которые являются элементами<div>элементы:$('div ~ span')
$('.a .b , .a .c').css('border', '2px solid yellow'); //selects b and c<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="a">a <div class="b">b</div> <div class="c">c</div> <div class="d">d</div> </div>
просто упомяните другой случай с элементом:
например.
<div id="title1" class="A B C">просто типа:
$("div#title1.A.B.C")
для лучшей производительности вы можете использовать
$('div.a.b')Это будет выглядеть только через элементы div вместо того, чтобы шагать через все элементы html, которые у вас есть на Вашей странице.
Группа Селектора
body {font-size: 12px; } body {font-family: arial, helvetica, sans-serif;} th {font-size: 12px; font-family: arial, helvetica, sans-serif;} td {font-size: 12px; font-family: arial, helvetica, sans-serif;}становится этот:
body, th, td {font-size: 12px; font-family: arial, helvetica, sans-serif;}так что в вашем случае вы попробовали селектор группы, тогда как его пересечение
$(".a, .b")используйте этот код
$(".a.b")
можно использовать
getElementsByClassName()метод для того, что вы хотите.var elems = document.getElementsByClassName("a b c"); elems[0].style.color = "green"; console.log(elems[0]);<ul> <li class="a">a</li> <li class="a b">a, b</li> <li class="a b c">a, b, c</li> </ul>Это самое быстрое решение. вы можете увидеть эталон об этом здесь.
Comments