2016-05-17 8 views
0

Ich bin einfach JavaScript für meine Hausaufgaben. JS greift auf XML-Tabelle mit DOM. Wenn ich diesen Code ausführen:Vergleichen DOM-Knoten Wert zu Zeichenfolge Javascript

... 
var famstatus = xmlDoc.getElementsByTagName('famstatus'); 
for (var i = 0 ; i<employee.length; i ++) 
{ 
document.getElementById("nam").innerHTML += famstatus[i].childNodes[0].textContent + " "; 
} 
... 

ich:

Single Single Married Single Married.... etc. 

aber wenn ich versuche, eine IF-Anweisung enthalten ist es nicht die erwarteten Ergebnisse zu erzielen. Hier ist, was ich tun möchte:

... 
for (var i = 0; i < employee.length ; i++) 
{ 
    if (famstatus[i].childNodes[0].textContent === "Single") 
    { 
    alert("found"); 
    } 
    else alert("not"); 
} 
... 

Das Skript nie Warnungen „gefunden“, bekomme ich nur „nicht“.

+0

Sie sehen aus wie Sie 3 haben "=" Zeichen, wenn in Ihrem Zustand zu vergleichen? – masterforker

+0

Ja, ich habe sowohl == als auch === versucht und keiner hat funktioniert. – VTodorov

+0

fügen Sie die console.log ("famstatus [i] .childNodes [0] .textContent") und Blick auf Konsole – derzunov

Antwort

1

Ich kann nicht sehen, mit welchem ​​Dokument Sie arbeiten, also ist es schwer zu debuggen, aber es kann anderen Text geben, der nicht offensichtlich ist, also sind die Zeichenketten nicht gleich. Versuchen Sie

ersetzen
if (famstatus[i].childNodes[0].textContent === "Single") 

mit

if (famstatus[i].childNodes[0].textContent.indexOf("Single") > -1) 
+1

Es hat funktioniert, danke. – VTodorov