ডিআইভির মধ্যে ক্লাস সহ আমি কীভাবে আইটেম নির্বাচন করতে পারি?


142

আমি নিম্নলিখিত এইচটিএমএল আছে:

<div id="mydiv">
  <div class="myclass"></div>
</div>

আমি এমন একটি নির্বাচক ব্যবহার করতে সক্ষম হতে চাই যা অভ্যন্তরটি নির্বাচন করে divতবে ধারকটির জন্য নির্দিষ্ট mydiv। আমি কীভাবে jQuery দিয়ে এটি অর্জন করতে পারি?

উত্তর:


285

চেষ্টা করুন:

$('#mydiv').find('.myclass');

জেএস ফিডল ডেমো

বা:

$('.myclass','#mydiv');

জেএস ফিডল ডেমো

বা:

$('#mydiv .myclass');

জেএস ফিডল ডেমো

তথ্যসূত্র:


find()ডকুমেন্টেশন থেকে শিখতে ভাল :

.ফাইন্ড () এবং। শিশুদের () পদ্ধতিগুলি একই রকম, বাদে কেবলমাত্র ডিওএম গাছের নীচে একক স্তর ভ্রমণ করে।


2
দ্বিতীয় দুটি কাজ করবে না, তবে এটি ঠিক আছে। দ্বিতীয় দুটি জন প্রতি ক্লাস = মাইক্লাস নির্বাচন করবে এবং আমি মনে করি প্রতি আইডি = মাইডিভ নির্বাচন করবে)।
সিজেপ

2
@ সিজেপ: না, প্রসঙ্গ-নির্বাচক পদ্ধতির আলাদাভাবে jQuery প্রয়োগগুলি অভ্যন্তরীণভাবে লেখা $('#mydiv').find('.myclass');হয়েছে, প্রথম কোড স্নিপেটে ব্যবহৃত একই পন্থা। ঘটনাচক্রে: '... প্রত্যেকটি নির্বাচন করুন id=mydiv'? মাত্র উচিত কি কখনো একটি প্রদত্ত এক ব্যবহার করা idএকটি পৃষ্ঠায় (একটি id আবশ্যক নথীর মধ্যে অনন্য হওয়া )।
ডেভিড বলেছেন মনিকা

@ ডেভিড থমাস ওয়েল আমি ঠিক চেষ্টা করেছি $ ('# মাইডিভ। মাইক্র্লাস'); এবং এটি মাইডিভের মধ্যে কেবল ডিভগুলি না করে ক্লাস মাইক্লাস রয়েছে এমন সমস্ত ডিভ নির্বাচন করে।
ব্যবহারকারী 3281466

@ ইউজার 3281466: সত্যি? এটি অসম্ভব বলে মনে হচ্ছে, আপনি কি নিজের সমস্যাটি পুনরুত্পাদন করতে পারবেন ?
ডেভিড মনিকা 16

ডিভি তে কোনও কিছুর জন্য কীভাবে চেক করবেন এবং তারপরে এটি রাখবেন: না ()
সুপারউবারডুপার ২

20

এটা চেষ্টা কর

$("#mydiv div.myclass")

অথবা যদি এটি যত্নশীল না হন div(বা এটি সর্বদা এক হয়ে থাকবে div) আপনি $ ("# মাইডিভ। মাইক্র্লাস") এ সহজ করতে পারেন।
মাইকেল মায়ার

@ মিশেল - হ্যাঁ, আমরা কেবলমাত্র .Mycalss বলতে পারি তবে আমরা যদি এটির একটি ডিভ জানতে পারি, তবে div.myclass অনুসন্ধান দ্রুততর করবে।
শঙ্করসঙ্গোলি

@ শঙ্কর, এটি সম্ভবত এটি দ্রুততর নয় বরং ধীর করে দেবে। ধরেই নেওয়া জ্যাকোরি সিজল ব্যবহার করে এবং কোনও নেটিভ নয় document.queryselectorallএটি সম্ভবত একই ফ্যাশনে অনুসন্ধান করবে এবং আপনার ক্ষেত্রে একটি অতিরিক্ত চেক করবে। দেশীয় বাস্তবায়নগুলিও একই কাজ সম্ভব।
ডেভিন

আমি চালিত কিছু দ্রুত পরীক্ষার পরামর্শ দেয় এটি ব্রাউজার নির্ভর। এটি ক্রোমে সামান্য দ্রুত এবং এফএফের মধ্যে প্রান্তিকভাবে ধীর হয়ে দেখা দিয়েছে। যে কোনও উপায়ে আপনি এই নির্বাচকটিকে বহুবার চালাচ্ছেন না বা বিপুল সংখ্যক উপাদানের উপর নির্ভর না করে পার্থক্যটি সম্ভবত নগণ্য। আমার অপরিশোধিত (এবং সম্ভবত ত্রুটিযুক্ত) পরীক্ষার জন্য এখানে দেখুন ।
মাইকেল মায়ার

@ মিশেল - যদি আমরা শ্রেণীর নামের সাথে ট্যাগ নামটি নির্দিষ্ট করে থাকি তবে এটি প্রথমে getElementsByTagName ব্যবহার করবে এবং তারপরে শ্রেণীর নামটি সন্ধান করবে যা অবশ্যই দ্রুততর এবং এখনও প্রথম স্তরের বাছাইয়ের জন্য স্থানীয় পদ্ধতি ব্যবহার করে। নির্বাচিত হওয়ার মতো অনেক উপাদান না থাকলে এটি উপেক্ষিত An
শঙ্করসঙ্গোলি 4'11

11

আপনি সিএসএস নির্বাচককে যেভাবে প্রয়োগ করবেন ঠিক সেভাবেই আপনি এটি করবেন। তাত্ক্ষণিক জন্য আপনি করতে পারেন

$("#mydiv > .myclass")

অথবা

$("#mydiv .myclass")

শেষটি মাইক্লাসের সাথে মাইক্লাস সহ মাইডিভের অভ্যন্তরে প্রতিটি মাইক্রাসের সাথে মিলবে।


6

আপনি যদি ক্লাস অ্যাট্রিবিউট "মাইক্লাস" ব্যবহার করে এমন প্রতিটি উপাদান নির্বাচন করতে চান

$('#mydiv .myclass');

আপনি যদি কেবলমাত্র ডিভ উপাদানগুলি নির্বাচন করতে চান যা শ্রেণীর বৈশিষ্ট্যযুক্ত "মাইক্লাস" ব্যবহার করে

$("div#mydiv div.myclass");

jquery নির্বাচনকারীদের সম্পর্কে আরও নিবন্ধগুলি এই নিবন্ধগুলি উল্লেখ করুন


1

পরিবর্তে এটি চেষ্টা করুন $(".video-divs.focused")। আপনি যদি ফোকাসযুক্ত ভিডিও-ডিভগুলি সন্ধান করছেন তবে এটি কাজ করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.