আমি সব উপাদান দুটি ক্লাস আছে নির্বাচন করতে চান aএবং b।
<element class="a b">
সুতরাং, শুধুমাত্র উপাদান আছে উভয় ক্লাস।
আমি যখন $(".a, .b")এটি ব্যবহার করি তখন আমাকে ইউনিয়ন দেয় তবে আমি ছেদটি চাই।
আমি সব উপাদান দুটি ক্লাস আছে নির্বাচন করতে চান aএবং b।
<element class="a b">
সুতরাং, শুধুমাত্র উপাদান আছে উভয় ক্লাস।
আমি যখন $(".a, .b")এটি ব্যবহার করি তখন আমাকে ইউনিয়ন দেয় তবে আমি ছেদটি চাই।
উত্তর:
আপনি যদি উভয় শ্রেণির (একটি ছেদ, যেমন একটি লজিকাল এবং এর সাথে) কেবলমাত্র উপাদানগুলির সাথে মেলে করতে চান তবে কেবল নির্বাচকদের মধ্যে ফাঁকা ছাড়াই লিখুন :
$('.a.b')
অর্ডার প্রাসঙ্গিক নয়, সুতরাং আপনি ক্লাসগুলিও অদলবদল করতে পারেন:
$('.b.a')
সুতরাং ক্লাসগুলির সাথে divএকটি আইডি রয়েছে এমন কোনও উপাদানটির সাথে মেলে এবং আপনার লিখতে হবে:abc
$('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')
আপনার যে সমস্যা হচ্ছে তা হ'ল আপনি একটি ব্যবহার করছেন 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>
ভ্যানিলা জাভাস্ক্রিপ্ট সমাধান: -
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")
আপনি 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>
এটিও দ্রুততম সমাধান। আপনি এখানে সে সম্পর্কে একটি মানদণ্ড দেখতে পারেন ।