İki sınıf olan tüm unsurları seçmek istediğiniz ave b.
<element class="a b">
Yani, sadece her iki sınıfa da sahip olan unsurlar .
Kullandığımda $(".a, .b")bana birliği veriyor, ama kavşağı istiyorum.
İki sınıf olan tüm unsurları seçmek istediğiniz ave b.
<element class="a b">
Yani, sadece her iki sınıfa da sahip olan unsurlar .
Kullandığımda $(".a, .b")bana birliği veriyor, ama kavşağı istiyorum.
Yanıtlar:
Yalnızca her iki sınıftaki öğeleri (mantıksal AND gibi bir kavşak) eşleştirmek istiyorsanız , aralarında boşluk olmadan seçicileri birlikte yazın :
$('.a.b')
Sipariş alakalı değil, bu yüzden sınıfları da değiştirebilirsiniz:
$('.b.a')
Bir maç için Yani divbir kimliği vardır elemanı asınıflarıyla bve cşu yazılır:
$('div#a.b.c')
(Uygulamada, büyük olasılıkla bu özelliğe ihtiyacınız yoktur ve genellikle bir kimlik veya sınıf seçici genellikle yeterlidir $('#a').)
bve cdinamik olarak eklenmişse yararlı olabilir ve öğeyi yalnızca bu sınıflara sahipse seçmek isteyebilirsiniz.
.a .bsınıf elemanlarının arar bsınıfı ile bir elemanın soyundan a. Yani böyle bir şey div asadece bir elemanın içindekia elemanları döndürür . div
Bu filter()işlevi kullanarak yapabilirsiniz :
$(".a").filter(".b")
.ave orijinal .akümeye ait birden fazla kez tabanlı farklı rasgele sınıfları filtrelemeniz gerekiyorsa da daha etkilidir .
Dava için
<element class="a">
<element class="b c">
</element>
</element>
.aVe arasına boşluk bırakmanız gerekir..b.c
$('.a .b.c')
$('.a .c.b')de çalışır mı?
$('.a > element')
Sahip olduğunuz sorun, a kullanmanız Group Selector, oysa a Multiples selector! Daha açık olmak gerekirse, $('.a, .b')kullanmalısınız $('.a.b').
Daha fazla bilgi için, aşağıdaki seçicileri birleştirmenin farklı yollarına genel bakış konusuna bakın!
Tüm <h1>öğeleri VE tüm <p>öğeleri VE tüm <a>öğeleri seçin:
$('h1, p, a')
Sınıflarının ve <input>öğelerinin tüm öğelerini seçin :type textcodered
$('input[type="text"].code.red')
<i>Öğelerin içindeki tüm öğeleri seçin <p>:
$('p i')
<ul>Bir <li>öğenin hemen alt öğesi olan tüm öğeleri seçin :
$('li > ul')
<a>Öğelerden hemen sonra yerleştirilen tüm öğeleri seçin <h2>:
$('h2 + a')
<span>Öğelerin kardeşleri olan tüm öğeleri seçin <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>
Vanilya JavaScript çözümü: -
document.querySelectorAll('.a.b')
Grup Seçici
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;}
Bu olur:
body, th, td {font-size: 12px; font-family: arial, helvetica, sans-serif;}
Yani sizin durumunuzda grup seçiciyi denediniz, oysa bir kavşak
$(".a, .b")
bunun yerine bunu kullan
$(".a.b")
İstediğiniz şey için getElementsByClassName()yöntem kullanabilirsiniz .
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>
Bu da en hızlı çözüm. burada bununla ilgili bir kıyaslama görebilirsiniz .