আসুন বলি যে আমার এইরকম একটি মার্কআপ রয়েছে:
<div id="foo">
...
<span id="moo">
...
</span>
...
</div>
এবং আমি #moo নির্বাচন করতে চাই।
কেন $('#foo').find('span')
কাজ করে, কিন্তু $('span', $('#foo'));
হয় না?
আসুন বলি যে আমার এইরকম একটি মার্কআপ রয়েছে:
<div id="foo">
...
<span id="moo">
...
</span>
...
</div>
এবং আমি #moo নির্বাচন করতে চাই।
কেন $('#foo').find('span')
কাজ করে, কিন্তু $('span', $('#foo'));
হয় না?
var ele = $("div #foo")
কীভাবে এখান থেকে
উত্তর:
আপনি এগুলির যে কোনও একটি ব্যবহার করতে পারেন [দ্রুত থেকে শুরু করে]
$("#moo") > $("#foo #moo") > $("div#foo span#moo") > $("#foo span") > $("#foo > #moo")
আসলে, $ ('# আইডি', এটি); শুধু তাত্ক্ষণিক শিশু নয়, কোনও বংশধর পর্যায়ে # আইডি নির্বাচন করবে। পরিবর্তে এটি চেষ্টা করুন:
$(this).children('#id');
বা
$("#foo > #moo")
বা
$("#foo > span")
moo
, ক্লাস নয় not
.children()
এবং .find()
যে DOM সাব-ট্রি নিচে শুধুমাত্র এক স্তর সাবেক ভ্রমনের ছাড়া একই রকম।
আপনি find
অন্যটির মধ্যে একটি উপাদান নির্বাচন করতে বিকল্পটি ব্যবহার করতে পারেন । উদাহরণস্বরূপ, একটি নির্দিষ্ট ডিভিতে আইডি txtName সহ কোনও উপাদান সন্ধান করতে আপনি পছন্দ মতো ব্যবহার করতে পারেন
var name = $('#div1').find('#txtName').val();
.... তবে $ ('স্প্যান', $ ('# ফু')); কাজ করে না?
এই পদ্ধতিটি নির্বাচক প্রসঙ্গ সরবরাহ হিসাবে ডাকা হয় ।
এতে আপনি jQuery নির্বাচককে দ্বিতীয় যুক্তি সরবরাহ করেন । এটি কোনও সিএসএস অবজেক্ট স্ট্রিং হতে পারে ঠিক যেমন আপনি সরাসরি নির্বাচনের জন্য বা jQuery উপাদানটির জন্য পাস করেন।
যেমন
$("span",".cont1").css("background", '#F00');
উপরের লাইনটি ধারকটির মধ্যে থাকা সমস্ত স্প্যান নির্বাচন করবে যাতে ক্লাসটির নাম থাকবে cont1
।
দু'জনেই কাজ করছে বলে মনে হচ্ছে।
ফিডাল দেখুন: http://jsfiddle.net/maniator/PSxkS/
$('#moo')
? ;) বিটিডব্লিউ। এটি কাজ করে: jsfiddle.net/fkling/k5X2r