jQuery پیمانندگی - روش has()

مثال

بررسی اینک که یک عنصر در یک عنصر دیگر قرار دارد:

$("ul").append("<li>" + ($("ul").has("li").length ? "Yes" : "No") + "</li>");
$("ul").has("li").addClass("full");

آزمایش کنید

تعریف و استفاده

has() مجموعه‌ای از عناصر تطابق‌یافته را به مجموعه فرزندان دارای انتخاب‌کننده یا عنصر تطابق‌یافته خاص کاهش می‌دهد.

نحوه استفاده

.has(selector)
پارامتر توضیح
selector مقدار رشته‌ای که شامل عبارت انتخاب‌کننده تطابق‌یافته برای عناصر تطابق‌یافته است.

توضیحات

اگر یک شیء jQuery که نشان‌دهنده مجموعه‌ای از عناصر DOM است داده شود، روش .has() از مجموعه‌ای جدید از شیء jQuery با استفاده از مجموعه فرزندان تطابق‌یافته ایجاد می‌کند. انتخاب‌کننده استفاده شده برای شناسایی فرزندان تطابق‌یافته استفاده می‌شود؛ اگر هر فرزند تطابق‌یافته با این انتخاب‌کننده تطابق داشته باشد، آن عنصر در نتایج شامل خواهد شد.

به این صفحه با لیست‌های پیچیده فکر کنید:

<ul>
  <li>list item 1</li>
  <li>list item 2</li>
    <ul>
      <li>list item 2-a</li>
      <li>list item 2-b</li>
    </ul>
  </li>
  <li>list item 3</li>
  <li>list item 4</li>
</ul>

می‌توانیم این روش را برای مجموعه‌ای از عناصر لیست اعمال کنیم، مانند این:

$('li').has('ul').css('background-color', 'red');

آزمایش کنید

نتیجه این فراخوانی این است که پس‌زمینه پروژه 2 به قرمز تنظیم شده است، زیرا این پروژه تنها فرزند دارای <ul> از <li> است.