Frage Prüfe, ob das Element in jQuery existiert [duplizieren]


Diese Frage hat hier bereits eine Antwort:

Wie überprüfe ich, ob ein Element existiert, wenn das Element von erstellt wird .append() Methode? $('elemId').length funktioniert nicht für mich.


1014
2018-01-04 10:15


Ursprung


Antworten:


$('elemId').length funktioniert nicht für   mich.

Sie müssen setzen # vor der Element-ID:

$('#elemId').length
---^

Mit JavaScript von Vanille brauchen Sie den Hash nicht (#) z.B. document.getElementById('id_here') Wenn Sie jedoch jQuery verwenden, müssen Sie den Zielelementen basierend auf Hash Hash zuweisen id genau wie CSS.


1446
2018-01-04 10:17



Versuchen Sie, die Länge des Selektors zu überprüfen, wenn er Ihnen etwas zurückgibt, dann muss das Element sonst existieren.

 if( $('#selector').length )         // use this if you are using id to check
{
     // it exists
}


 if( $('.selector').length )         // use this if you are using class to check
{
     // it exists
}

287
2017-10-07 12:54



Versuche dies:

if ($("#mydiv").length > 0){
  // do something here
}

Die Eigenschaft length gibt null zurück, wenn das Element nicht existiert.


92
2018-02-13 04:38



Wie überprüfe ich, ob ein Element existiert?

if ($("#mydiv").length){  }

Wenn es ist 0wird es bewerten falseetwas mehr als das true.

Es besteht keine Notwendigkeit für einen Größer als, weniger als ein Vergleich.


51
2018-06-30 21:37



Ihre elemId wie der Name schon sagt, ist ein Id Attribut, dies sind alles, was Sie tun können, um zu prüfen, ob es existiert:

Vanille JavaScript: falls Sie erweiterte Selektoren haben:

//you can use it for more advanced selectors
if(document.querySelectorAll("#elemId").length){}

if(document.querySelector("#elemId")){}

//you can use it if your selector has only an Id attribute
if(document.getElementById("elemId")){}

jQuery:

if(jQuery("#elemId").length){}

24
2018-02-15 17:41



Sie können auch Array-artige Notation verwenden und nach dem ersten Element suchen. Das erste Element eines leeren Arrays oder einer leeren Sammlung ist einfach undefined, so erhalten Sie das "normale" Javascript truthy / falsy Verhalten:

var el = $('body')[0];
if (el) {
    console.log('element found', el);
}
if (!el) {
    console.log('no element found');
}

11
2017-09-17 21:24



Sie können natives JS verwenden, um die Existenz eines Objekts zu testen:

if (document.getElementById('elemId') instanceof Object){
    // do something here
}

Vergessen Sie nicht, jQuery ist nichts weiter als ein ausgefeilter (und sehr nützlicher) Wrapper um native Javascript-Befehle und -Eigenschaften


7
2018-05-12 13:12