jQuery جائزوں - end() طریقہ
مثال
تمام پاراگرافوں کو منتخب کریں، ان پاراگرافوں میں span عنصر کو تلاش کریں، اور ان کو پاراگراف میں واپس لایا جائے اور پاراگراف کو دو پیکسلی رد رنگ کی باریک کیڈ کا تعین کریں:
$("p").find("span").end().css("border", "2px red solid");
تعریف اور استعمال
end() طریقہ آج کی چین کی سب سے نزدیک فیلٹرنگ آپریشن کو ختم کرتا ہے، اور یہ جائزوں کا مجموعہ پچھلے حالت میں واپس لایا جاتا ہے۔
فارمول
.end()
تفصیلات میں بتایا جائیگا
کثیرتر jQuery کا جائزہ لین والی طریقوں میں ایک جائزوں جائزوں نمونے کا استعمال ہوتا ہے، جو مختلف ڈوم عنصر کا مجموعہ نئی نمونے کا تعین کرتا ہے۔ جب یہ حالت پیش آئی تو نئی عنصر کا مجموعہ کو نمونوں میں رکھنے والی چیمبر میں بھیجنا چاہئیے۔ کسی بھی کامیاب فیلٹرنگ طریقوں کی مدد سے نئی عنصر کو چیمبر میں بھیج دیا جاتا ہے۔ اگر ہم پرانے عنصر کا مجموعہ چاہتے ہیں تو end() کی مدد سے چیمبر سے نئی مجموعہ کو نکال سکتے ہیں۔
فرض کنید در صفحه یک جفت لیست کوتاه وجود دارد:
<ul class="first"> <li class="foo">list item 1</li> <li>list item 2</li> <li class="bar">list item 3</li> </ul> <ul class="second"> <li class="foo">list item 1</li> <li>list item 2</li> <li class="bar">list item 3</li> </ul>
مثال 1
بیشتر در استفاده از ویژگیهای رشته فرمان jQuery (رشته فرمان) مفید است. اگر از رشته فرمان استفاده نکنیم، معمولاً از نام متغیر برای فراخوانی جعبه جویای قبلی استفاده میکنیم، بنابراین نیازی به عملکرد روی پشته نیست. اما با استفاده از end()، میتوانیم همه فراخوانیهای روش را به هم متصل کنیم:
$('ul.first').find('.foo').css('background-color', 'red') .end().find('.bar').css('background-color', 'green');
این رشته فرمان به دنبال اولین لیست با نام کلاس foo میگردد و پس از آن پسزمینه آنها را به قرمز درمیآورد. end() میتواند جعبه جویای قبلی را به حالت قبل از فراخوانی find() بازگرداند، بنابراین find() دوم در داخل <ul class="first"> دنبال '.bar' میگردد، نه در داخل <li class="foo">، و پسزمینه عناصر تطبیق یافته را به رنگ سبز درمیآورد. در نهایت، پروژههای 1 و 3 در لیست اول پسزمینههای رنگی دارند، در حالی که در لیست دوم هیچ تغییری ایجاد نمیشود.
مثال 2
این رشته طولانی jQuery میتواند به عنوان یک بلوک کد ساختاریزه قابل مشاهده باشد، روشهای فیلتر کردن بلوکهای کد پیچیده را باز میکند، و روش end() برای بستن بلوکها استفاده میشود:
$('ul.first').find('.foo') .css('background-color', 'red') .end().find('.bar') .css('background-color', 'green') .end();
آخر، این end() ضروری نیست، زیرا ما بعداً این جعبه جویای jQuery را حذف میکنیم. اما اگر کد را به این شکل بنویسیم، end() میتواند تقارن بصری و احساس ترتیب و نظم در برنامه را فراهم کند، حداقل برای توسعهدهندگان راحتتر خواندن است، البته به قیمت کمی کاهش عملکرد به دلیل انجام فراخوانیهای اضافی.