나는 두 개의 클래스가있는 모든 요소를 선택합니다 a
및 b
.
<element class="a b">
따라서 두 클래스 가 모두 있는 요소 만
내가 그것을 사용할 때 $(".a, .b")
노조를 제공하지만 교차로를 원합니다.
나는 두 개의 클래스가있는 모든 요소를 선택합니다 a
및 b
.
<element class="a b">
따라서 두 클래스 가 모두 있는 요소 만
내가 그것을 사용할 때 $(".a, .b")
노조를 제공하지만 교차로를 원합니다.
답변:
두 클래스 (논리적 AND와 같은 교차점)가있는 요소 만 일치 시키려면 사이에 공백없이 선택기를 함께 작성하십시오 .
$('.a.b')
순서는 관련이 없으므로 클래스를 바꿀 수도 있습니다.
$('.b.a')
따라서 클래스 와 div
ID가 있는 요소 를 일치시키기 위해서는 다음과 같이 작성하십시오.a
b
c
$('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
text
code
red
$('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>