jQuery مرور - not() طریق

مثال

تمام سارچوں کی مجموعے سے id کا "selected" پاراگراف کو حذف کرنا:

$("p").not("#selected")

آزمایش کنید

تعریف و استعمال

not() سے کسی عناصر مجموعے سے عنصر کو حذف کرنا۔

نحوه‌ی استفاده 1

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

نحوه‌ی استفاده 2

.not(element)
پارامترها توضیحات
element یک یا چند عنصر DOM که باید از مجموعه تطابق حذف شوند.

نحوه‌ی استفاده 3

.not(function(index))
پارامترها توضیحات
function(index) توابعی که برای هر عنصر در مجموعه بررسی می‌شوند. این اینترفیس به عنصر DOM فعلی اشاره دارد.

توضیحات

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

به صفحه زیر با لیست ساده فکر کنید:

<ul>
  <li>list item 1</li>
  <li>list item 2</li>
  <li>list item 3</li>
  <li>list item 4</li>
  <li>list item 5</li>
</ul>

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

$('li').not(':even').css('background-color', 'red');

آزمایش کنید

نتیجه این فراخوانی پروژه‌های 2 و 4 را به رنگ پس‌زمینه قرمز تنظیم می‌کند، زیرا آنها با انتخاب‌گر مطابقت ندارند (یادآوری کنید که :even و :odd از شمارنده بر اساس 0 استفاده می‌کنند).

حذف عناصر خاص

نسخه دوم روش .not() به ما اجازه می‌دهد تا عناصر را از مجموعه تطابق حذف کنیم، فرض کنید که ما قبلاً این عناصر را از طریق روش‌های دیگر پیدا کرده‌ایم. به عنوان مثال، تصور کنید که یک لیست id را به یکی از پروژه‌ها اعمال کرده‌ایم:

<ul>
  <li>list item 1</li>
  <li>list item 2</li>
  <li id="notli">list item 3</li>
  <li>list item 4</li>
  <li>list item 5</li>
</ul>

ما می‌توانیم از تابع پیش‌فرض JavaScript یعنی getElementById() برای خواندن سومین عناصر لیست استفاده کنیم و سپس آن را از جعبه jQuery حذف کنیم:

$('li').not(document.getElementById('notli')).css('background-color', 'red');

آزمایش کنید

این جمله رنگ پس‌زمینه پروژه‌های 1، 2، 3 و 5 را تغییر می‌دهد. ما می‌توانیم با استفاده از عبارت ساده‌تر jQuery کار مشابهی انجام دهیم، اما این تکنیک زمانی که مثلاً سایر کتابخانه‌ها به مراجع صرفاً DOM اشاره دارند، بسیار مفید خواهد بود.

برای jQuery 1.4، روش .not() می‌تواند یک تابع را به عنوان پارامتر خود استفاده کند، که مشابه روش .filter() است. عناصر که تابع بازمی‌گرداند true، از مجموعه فیلتر شده حذف می‌شوند؛ تمام عناصر دیگر شامل می‌شوند.