جی کوئنری تلاش - is() طریق
مثال
باز خواہش مند نہیں، کیونکہ input علامت کا والد علامت p ہے:
var isFormParent = $("input[type='checkbox']").parent();.is("form"); $("div").text("isFormParent = " + isFormParent);
تعریف اور استعمال
is() جی کوئنری کا انتخاب، علامت یا جی کوئنری علامت کی بنیاد پر پتہ لگانے والی علامت کا مجموعہ کو چکتی ہے، اگر ان علامتوں میں سے کم از کم ایک علامت کسی پارامتر کے ساتھ پتہ لگتی ہے تو اس میں صحیح برتا ہوتا ہے.
بندوبست
.is(selector)
پارامتر | شرح |
---|---|
selector | قوس، جس میں پتہ لگانے والی علامت کا انتخاب کرنا ہوتا ہے. |
تفصیلات
دوسرے فیلٹر طریقوں کے برخلاف، .is() نئی جی کوئنری علامت نہیں بناتی. بجائی میں، یہ ہم کو جی کوئنری علامت کی موجودگی کا پتہ لگانے کی اجازت دیتا ہے، جس میں جی کوئنری علامت کی موجودگی کو تبدیل نہیں کی جاتی. یہ کالبیک میں عام طور پر مفید ہوتا ہے، مثلاً ایوینٹ پروسیس.
بجائی میں، اگر ہم ایک فہرست رکھتے ہیں جس میں دو آئٹمز کے پاس ذیلی علامت ہیں:
<ul> <li>لیسٹ <strong>آئٹم 1</strong></li> <li><span>لیسٹ آئٹم 2</span></li> <li>list item 3</li> </ul>
آپ <ul> علامت میں کلک پروسیس کا اضافہ کرسکتے ہیں، اور اس کا کوڈ صرف تو اپنا سکتے ہیں جب کوئی فہرست کا علامت، نہ تو اس کا ذیلی علامت، کلک کیا جاتا ہے:
$("ul").click(function(event) { var $target = $(event.target); if ( $target.is("li") ) { $target.css("background-color", "red"); } });
اب ساتھی، جب استعمال کارکن سے پہلا فہرست کا لفظ "لیسٹ" یا تیسرا فہرست کا کسی بھی لفظ کا کلک کرتا ہے تو کیا فہرست کا پس منظر بنایا جاتا ہے جس کا پس منظر قرمز پس منظر رکھا جاتا ہے. لیکن جب استعمال کارکن پہلا فہرست کا item 1 یا دوسرا فہرست کا کسی بھی لفظ کا کلک کرتا ہے تو کوئی تبدیلی نہیں آئی، کیونکہ اس صورت میں، واقع کا نشانگار <strong> ہے <span>.
لطفاً توجه داشته باشید که برای عبارتهای انتخابگر مکانی، مانند :first،:gt() یا :even، فیلتر مکانی برای جعبهای که به .is() ارسال میشود اعمال میشود، نه برای کل مستند. بنابراین برای HTML بالا، عبارت $("li:first").is("li:last") به بازگشت true دارد، اما $("li:first-child").is("li:last-child") به بازگشت false دارد.
استفاده از تابع
یکی از روشهای استفاده از این روش، ارزیابی عبارتهای مرتبط بر اساس تابع به جای انتخابگر است. برای هر عنصر، اگر تابع به بازگشت true دارد، .is() نیز به بازگشت true دارد. به عنوان مثال، بخش HTML زیر کمی پیچیدهتر است:
<ul> <li><strong>list</strong> item 1 - one strong tag</li> <li><strong>list</strong> item <strong>2</strong> - دو <span>strong tags</span></li> <li>list item 3</li> <li>list item 4</li> <li>list item 5</li> </ul>
شما میتوانید یک برنامه کلیک برای هر <li> اضافه کنید تا تعداد عناصر <strong> درون <li> کلیک شده را محاسبه کند:
$("li").click(function() { var $li = $(this), isWithTwo = $li.is(function() { بازگشت $('strong', this).length === 2; });; اگر isWithTwo ) { $li.css("background-color", "green"); } دیگر { $li.css("background-color", "red"); } });