මම පන්ති දෙක ඇති බව සියලු අංග තෝරා ගැනීමට අවශ්ය 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>
වේගවත්ම විසඳුම මෙයයි. ඔබට ඒ පිළිබඳ මිණුම් ලකුණක් මෙහි දැකිය හැකිය .