2016-07-26 4 views
0

Ich habe ein Raster, das ich für eine bestimmte Zeile suchen. Wenn die Zeile nicht da ist, möchte ich eine bedingte Anweisung ausführen. Ich ziehe die Zeile wie folgt aus:Wie evaluieren Sie ein Javascript-Objekt für undefined

var $row = $table.find("tr[data-id=" + item + "]"); 

Wenn ich eine Warnung auf sie aus, es kommt wie das, was ich erwarten würde und ‚undefiniert‘, wenn der Wert nicht vorhanden ist. Wenn ich jedoch eine Bedingung dafür mache, kann ich niemals den richtigen Teil des Konditionals bekommen. Ich habe versucht:

+1

if (typeof row === 'undefiniert') {} oder if (row === undefined) – ShuberFu

+0

Verwenden Sie diese jQuery? Wenn ja, füge jQuery-Tag zur Frage hinzu. Auch wenn es jquery ist, gibt find() eine Liste zurück, so dass Sie überprüfen müssen, ob 'row.length' 0 ist. –

+0

' $ row' wird niemals undefiniert sein. – Oriol

Antwort

2

Es gibt zwei Möglichkeiten, wie Sie dies tun können (wie es passiert ist, haben Sie wirklich nah).

Dies funktioniert

if (typeof row === 'undefined'){}

typeof die Art des Objekts als String erhalten, so dass Sie es mit der Zeichenfolge vergleichen undefined

so tut dies

if (row === undefined){}

Beachten Sie das Fehlen von Anführungszeichen um undefined.

Verwandte Themen