මම පන්ති දෙක ඇති බව සියලු අංග තෝරා ගැනීමට අවශ්ය a
සහb
.
<element class="a b">
එබැවින්, ඇති මූලද්රව්ය පමණි පන්ති දෙකම .
මම $(".a, .b")
එය භාවිතා කරන විට එය සමිතිය ලබා දෙයි, නමුත් මට අවශ්ය වන්නේ මංසන්ධියයි.
මම පන්ති දෙක ඇති බව සියලු අංග තෝරා ගැනීමට අවශ්ය a
සහb
.
<element class="a b">
එබැවින්, ඇති මූලද්රව්ය පමණි පන්ති දෙකම .
මම $(".a, .b")
එය භාවිතා කරන විට එය සමිතිය ලබා දෙයි, නමුත් මට අවශ්ය වන්නේ මංසන්ධියයි.
Answers:
ඔබට පන්ති දෙකම සමඟ මූලද්රව්ය පමණක් ගැලපීමට අවශ්ය නම් (තාර්කික AND වැනි මංසන්ධියක්), අතර පරතරයක් නොමැතිව තේරීම් කාරක එකට ලියන්න :
$('.a.b')
ඇණවුම අදාළ නොවේ, එබැවින් ඔබට පන්ති මාරු කළ හැකිය:
$('.b.a')
එබැවින් පංති සමඟ div
හැඳුනුම්පතක් ඇති මූලද්රව්යයක් a
ගැලපීමට b
සහ c
ඔබ මෙසේ ලියනු ඇත:
$('div#a.b.c')
(ප්රායෝගිකව, ඔබට බොහෝ විට එම නිශ්චිතය ලබා ගැනීමට අවශ්ය නොවන අතර, හැඳුනුම්පතක් හෝ පන්ති තේරීමක් සාමාන්යයෙන් ප්රමාණවත් වේ : $('#a')
.)
b
හා c
ගතිකව එකතු කර ඇත්නම් එය ප්රයෝජනවත් විය හැකි අතර ඔබට අවශ්ය වන්නේ එම පංති තිබේ නම් මූලද්රව්යය තෝරා ගැනීමයි.
.a .b
පංතිය b
සහිත මූලද්රව්යයකින් පැවත එන පන්තිය සහිත මූලද්රව්ය සෙවීම 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')
ඔබට ඇති ගැටළුව නම්, ඔබ භාවිතා කරන්නේ a Group Selector
වන අතර ඔබ භාවිතා කළ යුත්තේ a 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>
වැනිලා ජාවාස්ක්රිප්ට් විසඳුම: -
document.querySelectorAll('.a.b')
කණ්ඩායම් තේරීම්
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")
ඔබට අවශ්ය නැත jQuery
සඳහා
දී Vanilla
ඔබට කළ හැකි දේ:
document.querySelectorAll('.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>
වේගවත්ම විසඳුම මෙයයි. ඔබට ඒ පිළිබඳ මිණුම් ලකුණක් මෙහි දැකිය හැකිය .