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