2016-04-05 7 views
0

Ich habe folgende JS-Funktion:Erste tr id für td-Elemente in Schleife

function drawItNow() { 
    var inputs = document.getElementsByTagName("td"); 
    for (i = 1; i < inputs.length; ++i) { 
    if document.getElementById(inputs[i].id).parentNode.id = 'svgpic'; { 
     if (inputs[i].id != "") { 
     var tdidtemp = inputs[i].id; 
     fillHtml(tdidtemp, valArray[i - 1].xVal, valArray[i - 1].yVal, valArray[i - 1].padVal, valArray[i - 1].fillVal, valArray[i - 1].heightVal, valArray[i - 1].coltext, valArray[i - 1].xAxStart, valArray[i - 1].xAxStop); 
     } else { 

     } 
    } 
    } 
} 

Ich möchte überprüfen, ob die tr für die td hat die ID svgpic ist. Der Rest der Funktion funktioniert gut, daher muss mit dieser Prüfung etwas nicht stimmen.

Als Alternative habe ich auch versucht:

if inputs[i].id.closest('tr').attr('id')='svgpic';{ 

aber das hatte das gleiche Problem.

+1

zum Vergleich sollten Sie '==' oder '===' nicht '=' verwenden. sowohl in den if-Anweisungen, die Sie Werte zuweisen statt – Anbarasan

+0

Diese Javascript Vergleich der ganzen Ort ist: Sie haben keine Pars um den 'if' Zustand, haben Sie ein Semikolon vor Ihrer öffnende Klammer im' if' Block, und Sie Holen Sie ein Element durch seine eigene ID, die redundant ist und zur Verwirrung beiträgt. – moopet

Antwort

3

Wenn wir verwenden Vergleich == oder ===. Sie haben = verwendet, was eine Zuweisungsoperation ist. Sie sollten Anweisungen

if (document.getElementById(inputs[i].id).parentNode.id === 'svgpic') { 
     if (inputs[i].id !== "") { 
+0

Das ist immer noch gebrochen javascript ... – moopet

+0

Wow, dass es .... glaube, ich war es blinder ..... Vielen Dank. – Thevagabond