jQuery pemilih "Tidak memiliki atribut"?

142

Saya dapat menemukan div yang memiliki atribut seperti:

$('.funding-plan-container[data-timestamp]')

Tetapi jika saya mencoba menemukan div yang tidak memiliki atribut itu, saya mendapatkan kesalahan - kode saya adalah:

$('.funding-plan-container[!data-timestamp]')

Apakah ada pemilih "tidak memiliki atribut" di jQuery?

Untuk referensi, use case di sini adalah bahwa setiap div yang tidak memiliki atribut timestamp tidak ditambahkan secara dinamis, dan karenanya berguna.

Terima kasih!

HO
sumber

Jawaban:

220

Gunakan :not()pemilih.

$('.funding-plan-container:not([data-timestamp])')

Omong-omong, ini adalah pemilih Selectors API yang valid , sehingga tidak spesifik untuk jQuery. Ini akan bekerja dengan querySelectorAll()dan dalam CSS Anda ( dukungan browser yang diberikan ) .

Saya Benci Malas
sumber
12
Cara lain untuk menuliskannya `$ ('. Funding-plan-container').
Not
@epascarello: Sangat benar.
I Hate Lazy
37

Anda dapat memfilter pemilih dengan menggunakan pemilih .not () atau : not () .

$('.funding-plan-container:not([data-timestamp])').

ATAU

$('.funding-plan-container').not('[data-timestamp]') 
Sushanth -
sumber