jQuery প্রবলীয়ন - is() পদ্ধতি
উদাহরণ
ফেলস ফিরে দেয়, কারণ input উপাদানের পিতৃপক্ষ p উপাদান:
var isFormParent = $("input[type='checkbox']").parent();.is("form"); $("div").text("isFormParent = " + isFormParent);
সংজ্ঞা ও ব্যবহার
is() অনুসারে, প্রকাশকীর্তা, উপাদান বা jQuery উপাদানের মাধ্যমে মাটিছিন্ন উপাদানগুলির অনুসারী সংগ্রহকে পরীক্ষা করে, যদি এই উপাদানগুলির মধ্যে কোনোটি প্রকাশকীর্তা প্রদেয় পারামিটারের সাথে মাটিছিন্ন হয়, তখন true ফিরে দেয়।
সংজ্ঞা ও ব্যবহার
.is(selector)
পারামিটার | ব্যাখ্যা |
---|---|
selector | শব্দমালা মূল্য, যা মাটিছিন্ন উপাদানগুলির চিহ্নিতকরণ প্রকাশ করে। |
বিস্তারিত ব্যাখ্যা
অন্যান্য ফিল্টার পদ্ধতির থেকে ভিন্ন, .is() নতুন jQuery উপাদান তৈরি করে না। পরিবর্তে, তা আমরা জিন্যাসের উপাদানকে পরীক্ষা করতে দেয়, যদিও জিন্যাসের উপাদানকে পরিবর্তন করে না। এটি callback-এর মধ্যে সাধারণত অত্যন্ত উপযোগী, যেমন ঘটনা হান্ডলার।
আমরা একটি তালিকা হাতে রাখছি, যার দুটি প্রকল্পগুলি সাব-উপাদান ধারণ করে:
<ul> <li>list <strong>item 1</strong></li> <li><span>list item 2</span></li> <li>list item 3</li> </ul>
আপনি <ul> উপাদানে click হান্ডলার যোগ করতে পারেন, এবং কোডটিকে সীমিত করেন যাতে শুধুমাত্র তালিকার আইটেমটি, না সাব-উপাদানগুলি ক্লিক করা হয় তখনই ঘটনা সংবর্ধিত হোক:
$("ul").click(function(event) { var $target = $(event.target); if ( $target.is("li") ) { $target.css("background-color", "red"); } });
এখন, যখন ব্যবহারকারী "list" শব্দটি প্রথম তালিকার অন্যতম আইটেমে ক্লিক করেন বা তৃতীয় তালিকার কোনো শব্দটি ক্লিক করেন, সেই তালিকার আইটেমটি লাল পেশাবর্ণ হয়। কিন্তু, যখন ব্যবহারকারী প্রথম তালিকার "item 1" শব্দটি ক্লিক করেন বা দ্বিতীয় তালিকার কোনো শব্দটি ক্লিক করেন, তখন কোনো পরিবর্তন হয় না, কারণ এই পরিস্থিতিতে, ঘটনার লক্ষ্য <strong> হল <span>।
আপনাকে মনে রাখুন, স্থানাঙ্কিত সিলেক্টর ব্যবহৃত সিলেক্টর ব্যবহার করে, যেমন :first, :gt() বা :even, স্থানাঙ্কিত ফিল্টার, .is() পাঠানো জিনিসপত্রের জন্য নয়, কিন্তু ডকুমেন্টের জন্য নয়।তাই, উপরের HTML থেকে, $("li:first").is("li:last") এই প্রকাশনা true ফলাফল দেয়, কিন্তু $("li:first-child").is("li:last-child") এই প্রকাশনা false ফলাফল দেয়।
ফাংশন ব্যবহার করে
এই পদ্ধতির দ্বিতীয় ব্যবহার হল, ফাংশনের ভিত্তিতে না তবে সিলেক্টরের ভিত্তিতে সংশ্লিষ্ট ইলেকট্রনিক তত্ত্ব গণনা করা।প্রত্যেক ইলেকট্রনিক তত্ত্বের জন্য, যদি ফাংশন সত্য ফলাফল দেয়, তবে .is()ও সত্য ফলাফল দেয়।উদাহরণ হিসাবে, নিচের কমপক্ষকে HTML বস্তু হিসাবে দেখুন:
<ul> <li><strong>list</strong> item 1 - one strong tag</li> <li><strong>list</strong> item <strong>2</strong> - two <span>strong tags</span></li> <li>list item 3</li> <li>list item 4</li> <li>list item 5</li> </ul>
আপনি প্রত্যেক <li> কেন্দ্রে click প্রক্রিয়াকরণ যোগ করতে পারেন, যাতে ক্লিক করা <li> ভিতর <strong> ইলেকট্রনিক তত্ত্বের সংখ্যা গণনা করা যায়:
$("li").click(function() { var $li = $(this), isWithTwo = $li.is(function() { return $('strong', this).length === 2; });; if ( isWithTwo ) { $li.css("background-color", "green"); } else { $li.css("background-color", "red"); } });