Saya mencoba memanggil fungsi hanya jika elemen HTML kosong, menggunakan jQuery.
Sesuatu seperti ini:
if (isEmpty($('#element'))) {
// do something
}
javascript
jquery
vitto
sumber
sumber
$('#elem').text().match(/\S/) || alert('empty');
Jawaban:
untuk info lebih lanjut lihat http://api.jquery.com/is/ dan http://api.jquery.com/empty-selector/
EDIT:
Seperti yang telah ditunjukkan beberapa orang, interpretasi browser dari elemen kosong dapat bervariasi. Jika Anda ingin mengabaikan elemen yang tidak terlihat seperti spasi dan jeda baris dan membuat implementasi lebih konsisten Anda dapat membuat fungsi (atau cukup gunakan kode di dalamnya).
Anda juga bisa membuatnya menjadi plugin jQuery, tetapi Anda mendapatkan idenya.
sumber
Saya menemukan ini sebagai satu-satunya cara yang dapat diandalkan (karena Chrome & FF menganggap spasi putih dan linebreak sebagai elemen):
sumber
if(!$.trim($("selector").html())
if($("selector").children().length === 0)
atauif($("selector > *").length === 0)
.Ruang putih dan jeda baris adalah masalah utama dalam menggunakan: selector kosong. Hati-hati, dalam CSS, kelas pseudo kosong berperilaku dengan cara yang sama. Saya suka metode ini:
sumber
$.children()
tidak mengembalikan teks atau komentar node, yang berarti solusi ini hanya memeriksa apakah elemen kosong dari elemen . Jika elemen yang hanya berisi teks atau komentar tidak boleh dianggap kosong untuk kebutuhan Anda, maka Anda harus menggunakan salah satu solusi lain.select
elemen sempurna. kondisinya juga bisaif(! $el.children().length)
.Ya, saya tahu, ini bukan jQuery, jadi Anda bisa menggunakan ini:
Bahagia sekarang?
sumber
filter
fungsi jQuery karena saya tidak ingin menggunakan jQuery di dalam fungsi kecuali diperlukan.<div class="results"> </div>
, pernyataan ini akan mengembalikan false. jsfiddle.net/ytliuSVN/0pdwLt46sumber
this
selain elemen jQuery @ZealMurapa?Jika dengan "kosong", maksud Anda tanpa konten HTML,
sumber
Kosong seperti di tidak mengandung teks?
sumber
Dalam resume, ada banyak opsi untuk mengetahui apakah suatu elemen kosong:
1- Menggunakan
html
:2- Menggunakan
text
:3 - Menggunakan
is(':empty')
:4- Menggunakan
length
Dalam kecanduan jika Anda mencoba mencari tahu apakah elemen input kosong, Anda dapat menggunakan
val
:sumber
Opsi lain yang harus lebih sedikit "berfungsi" untuk browser daripada
html()
atauchildren()
:sumber
atau
sumber
Anda dapat mencoba:
* Ganti ruang putih, cukup memetikan;)
sumber
!/[\S]/.test($('Selector').html())
bekerja lebih baik, setelah Anda menemukan spasi putih Anda tahu itu tidak kosongThe production CharacterClassEscape :: S evaluates by returning the set of all characters not included in the set returned by CharacterClassEscape :: s.
dari ecma-international.org/ecma-262/5.1/#sec-15.10.2.12sumber
Apakah Anda mencari
jQuery.isEmptyObject()
?http://api.jquery.com/jquery.isemptyobject/
sumber
Berikut ini adalah filter jQuery berdasarkan https://stackoverflow.com/a/6813294/698289
sumber
JavaScript
coba gunakan semua ini!
sumber
Coba ini:
sumber
Jeda baris dianggap sebagai konten untuk elemen dalam FF.
Ex:
Di IE kedua div dianggap kosong, di FF an Chrome hanya yang terakhir kosong.
Anda dapat menggunakan solusi yang disediakan oleh @qwertymk
atau
sumber