jQuery 遍歷 - not() 方法

實例

從包含所有段落的集合中刪除 id 為 "selected" 的段落:

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

Coba sendiri

定義和用法

not() 从匹配元素集合中刪除元素。

Syarat 1

.not(selector)
Parameter Deskripsi
selector Nilai string, berisi ekspresi pemilihan yang digunakan untuk mencocokkan elemen.

Syarat 2

.not(element)
Parameter Deskripsi
element Satu atau lebih elemen DOM yang perlu dihapus dari kumpulan yang disesuaikan.

Syarat 3

.not(function(index))
Parameter Deskripsi
function(index) Fungsi untuk mengecek setiap elemen dalam kumpulan. this adalah elemen DOM saat ini.

Penjelasan detil

Jika diberikan objek jQuery yang mewakili kumpulan elemen DOM, method .not() akan membangun objek jQuery baru dari subset elemen yang disesuaikan. Pemilihan yang diterapkan akan memeriksa setiap elemen; elemen yang tidak cocok dengan pemilihan ini akan disertakan di dalam hasil.

Berpikir tentang halaman di bawah ini yang memiliki daftar sederhana:

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

Kami dapat menerapkan method ini ke koleksi item daftar:

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

Coba sendiri

Hasil panggilan ini akan mengatur latar belakang warna merah untuk item 2 dan 4, karena mereka tidak cocok dengan pemilihan selector (ingatlah, :even dan :odd menggunakan indeks berdasarkan 0).

Hapus elemen khusus

Versi kedua method .not() memungkinkan kita untuk menghapus elemen dari koleksi yang disesuaikan, asumsi bahwa elemen-elemen tersebut telah ditemukan melalui cara lain sebelumnya. Contohnya,设想一个列表已经将 id aplikasikan ke salah satu proyeknya:

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

Kami dapat menggunakan fungsi JavaScript asli getElementById() untuk membaca item list ketiga, lalu menghapusnya dari objek jQuery:

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

Coba sendiri

Perintah ini merubah warna latar belakang item 1, 2, 3 dan 5. Kita dapat menyelesaikan hal yang sama dengan ekspresi jQuery yang lebih sederhana, tetapi teknologi ini sangat berguna saat lainnya menyediakan referensi DOM terbatas.

Untuk jQuery 1.4, method .not() boleh menggunakan fungsi sebagai parameternya, sama seperti method .filter(). Elemen yang mengembalikan true akan dihapus dari koleksi penilaian; seluruh elemen lain akan disertakan didalamnya.