2013-03-26 7 views
5

Ich möchte überprüfen, ob ein bestimmtes Attribut eines DOM-Elements nicht definiert ist - wie mache ich das?Wie überprüfe ich, ob ein Element nicht definiert ist?

habe ich versucht, so etwas wie diese:

if (marcamillion == undefined) { 
    console.log("Marcamillion is an undefined variable."); 
} 
ReferenceError: marcamillion is not defined 

Wie Sie sehen können, der Referenzfehler ist mir zu sagen, dass der Variable nicht definiert ist, aber meine if Prüfung funktioniert offensichtlich nicht, weil es den Standard produziert js ReferenceError im Gegensatz zu der Fehlermeldung, die ich in meinem console.log suche.

Edit 1

Oder noch besser, wenn ich, wenn das Attribut eines Element zu bestimmen versuchen, wie diese nicht definiert ist:

$(this).attr('value')

Was ist der beste Weg wäre, um zu bestimmen, Wenn das nicht definiert ist?

+1

möglich duplicate of [Wie ermittelt man, ob die Variable 'undefiniert' oder 'null' ist] (http://stackoverflow.com/questions/2647867/how-to-determine-if-variable-is-undefined-oder- null) und http://stackoverflow.com/questions/27509/detecting-an-undefined-object-property-in-javascript – lifetimes

Antwort

8

Mit typeof:

if (typeof marcamillion == 'undefined') { 
    console.log("Marcamillion is an undefined variable."); 
} 

Edit für die zweite Frage:

if ($(this).attr('value')) { 
    // code 
} 
else { 
    console.log('nope.') 
} 
+0

Angenommen, ich habe ein Attribut, das ich versuche, den Wert von zu testen - dh '$ (this) .attr ('Wert') '... was wäre der beste Weg um festzustellen, ob das nicht definiert ist? – marcamillion

+1

Einfach 'if ($ (this) .attr ('value'))' wird funktionieren. – romainberger

+0

Perfekt. Vielen Dank! – marcamillion

4
if (typeof marcamillion === 'undefined') { 
    console.log("Marcamillion is an undefined variable."); 
} 

Beachten Sie, dass === statt == mit besserem Stil betrachtet wird.

+0

Angenommen, ich habe ein Attribut, das ich versuche, den Wert von - d. H. '$ (This) .attr ('value')' ... zu testen, was wäre der beste Weg, um festzustellen, ob das nicht definiert ist? – marcamillion

Verwandte Themen