378 Stimmen

Wie prüfe ich mit jQuery, ob ein HTML-Element leer ist?

Ich versuche, eine Funktion nur dann aufzurufen, wenn ein HTML-Element leer ist, mit jQuery.

Etwa so:

if (isEmpty($('#element'))) {
    // do something
}

13voto

Digital Plane Punkte 36384

Wenn Sie mit "leer" meinen, dass sie keinen HTML-Inhalt haben,

if($('#element').html() == "") {
  //call function
}

12voto

RuiVBoas Punkte 334

Im Lebenslauf gibt es viele Möglichkeiten, um herauszufinden, ob ein Element leer ist:

1- Verwendung html :

if (!$.trim($('p#element').html())) {
    // paragraph with id="element" is empty, your code goes here
}

2- Verwendung text :

if (!$.trim($('p#element').text())) {
    // paragraph with id="element" is empty, your code goes here
}

3- Verwendung is(':empty') :

if ($('p#element').is(':empty')) {
    // paragraph with id="element" is empty, your code goes here
}

4- Verwendung length

if (!$('p#element').length){
    // paragraph with id="element" is empty, your code goes here
}

Wenn Sie versuchen, herauszufinden, ob ein Eingabeelement leer ist, können Sie mit val :

if (!$.trim($('input#element').val())) {
    // input with id="element" is empty, your code goes here
}

8voto

jensgram Punkte 29941

Leer, d.h. ohne Text?

if (!$('#element').text().length) {
    ...
}

2voto

Max Punkte 129

Vanilla-Javascript-Lösung:

if(document.querySelector('#element:empty')) {
  //element is empty
}

Denken Sie daran, dass Leerzeichen sich auf den leeren Text auswirken, Kommentare jedoch nicht. Für weitere Informationen siehe MDN über leere Pseudoklasse .

2voto

dahlbyk Punkte 71222

Eine weitere Option, die weniger "Arbeit" für den Browser bedeuten sollte als html() o children() :

function isEmpty( el ){
  return !el.has('*').length;
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X