2016-05-03 9 views
0

Ich habe ein Popup, dass der Benutzer eine href ändern kann, wenn gesetzt oder nicht. Ist dies nicht der Fall, zeige ich "optional web link" als Feldtitel an. Allerdings bekomme ich einen JavaScript-Fehler in der "if" -Zeile, dass href null ist. Wie kann ich href bekommen oder testen, ohne dass der Fehler in die Quere kommt? In dieser Anwendung wird href manchmal null sein, also muss mein Skript irgendwie damit umgehen.Javascript Fehler auf href getElementById wenn null

if (document.getElementById('sidebarhref-'+id).href == '') { 
    var href = document.getElementById('sidebarhref-'+id).href; 
} else { 
    var href = 'optional web link'; 
} 
+0

document.getElementById ('sidebarhref -' + id) .attr ("href") –

+0

@ Mike nein, das ist falsch. Sie denken an jQuery, aber das OP verwendet das nicht. – Pointy

+0

@Mike - 'null' hat keine 'attr'-Methode ... und auch kein HTMLElement-Objekt. Sie haben den Code geändert, anstatt einen Fehler zu erzeugen, wenn das Element existiert, ** ** ** ** immer einen Fehler. – Quentin

Antwort

2

Testen Sie, ob der Rückgabewert von getElementById ein echter Wert ist, bevor Sie versuchen, auf Eigenschaften davon zuzugreifen.

var element = document.getElementById('sidebarhref-'+id); 
if (element && element.href === "") { 
// etc 
+0

Danke! Update wie folgt: 'var element = document.getElementById ('sidebarhref -' + id); if (element && element.href! = '') { var href = element.href; } sonst { var href = 'optionaler Weblink'; } ' – Airman