나는 두 개의 클래스가있는 모든 요소를 선택합니다 a및 b.
<element class="a b">
따라서 두 클래스 가 모두 있는 요소 만
내가 그것을 사용할 때 $(".a, .b")노조를 제공하지만 교차로를 원합니다.
나는 두 개의 클래스가있는 모든 요소를 선택합니다 a및 b.
<element class="a b">
따라서 두 클래스 가 모두 있는 요소 만
내가 그것을 사용할 때 $(".a, .b")노조를 제공하지만 교차로를 원합니다.
답변:
두 클래스 (논리적 AND와 같은 교차점)가있는 요소 만 일치 시키려면 사이에 공백없이 선택기를 함께 작성하십시오 .
$('.a.b')
순서는 관련이 없으므로 클래스를 바꿀 수도 있습니다.
$('.b.a')
따라서 클래스 와 divID가 있는 요소 를 일치시키기 위해서는 다음과 같이 작성하십시오.abc
$('div#a.b.c')
실제로는 특정 정보를 얻을 필요가 없으며 ID 또는 클래스 선택기 자체만으로도 충분 $('#a')합니다.
b와 c동적으로 추가 된 경우 유용 할 수 있으며 해당 클래스가있는 경우에만 요소를 선택하려고합니다.
.a .b, class b가있는 요소의 자손 인 class 가있는 요소를 검색합니다 a. 따라서 같은 것은 요소 안에 있는 요소 div a만 반환 a합니다 . div
filter()함수를 사용하여이를 수행 할 수 있습니다 .
$(".a").filter(".b")
.a원래 .a세트에 속하는 다른 임의의 클래스를 여러 번 필터링 해야하는 경우에도 더 효율적 입니다.
이 경우
<element class="a">
<element class="b c">
</element>
</element>
.a와 사이에 공백을 넣어야합니다..b.c
$('.a .b.c')
$('.a .c.b')작동합니까?
$('.a > element')
당신이 겪고있는 문제는을 사용하고 Group Selector있지만 Multiples selector! 좀 더 구체적으로 말하면 사용하고있는 $('.a, .b')반면을 사용해야합니다 $('.a.b').
자세한 내용은 아래의 선택기를 결합하는 다양한 방법에 대한 개요를 참조하십시오!
모든 <h1>요소와 모든 <p>요소 및 모든 <a>요소를 선택하십시오 .
$('h1, p, a')
클래스 와 함께 다음의 모든 <input>요소를 선택하십시오 .type textcodered
$('input[type="text"].code.red')
<i>요소 내부의 모든 요소를 선택하십시오 <p>.
$('p i')
<ul>요소의 바로 하위 요소 인 모든 요소를 선택하십시오 <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>
그룹 선택기
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>