2016-08-12 5 views
1

Ich versuche, Änderungen an Td-Text zu machen. Aber als id kann ich nicht verstehen, was ich hinzufügen soll, um den Text zu bekommen. Kann mir jemand helfen?Ändern Sie Td Text mit Javascript ohne ID

Ich habe hinzugefügt? zu getElementBy, was hinzugefügt werden sollte, um den Text zu ändern.

<html> 
    <head> 
    <script> 
     $(document).ready(function() { 
      document.getElementBy?('Age').text = 'Años'; 
    }); 
    </script> 
    </head> 
    <body> 
    <table> 
    <tr> 
    <td nowrap="nowrap" class="Normal label"> Age:</td> 
    </tr> 
    </table> 
    </body> 
    </html> 

Schätzen Sie Ihre Hilfe Jungs.

+0

Sieht so aus, als ob Sie jQuery verwenden, ohne dass es darin enthalten ist, und der TD fehlt sowohl die Zeile als auch die Tabelle? – adeneo

Antwort

0

Es gibt keine getElementByXXX Funktion, die für Text sucht. Sie müssen alle td Elemente durchlaufen, ihren aktuellen Text abrufen und ihn mit dem vergleichen, wonach Sie suchen.

var tds = document.querySelectorAll('td'); 
[].forEach.call(tds, function(td) { 
    if (td.textContent.trim() == 'Age:') { 
     td.textContent = 'Años:'; 
    } 
}); 
+0

Danke. Das hat funktioniert. –

0

Sie müssen getElementsByTagName verwenden, die Ihnen eine Live-Knoten-Array geben wird.

Iterieren Sie über die Liste und rufen Sie die Methoden auf.

var tds = document.getElementsByTagName('td'); //<--- array like node list 

for(var i=0; i< tds.length; i++) { 
    var currTd = tds[i]; 

    currtd.text = 'Años'; 
} 

td kann auch nur in einem table Tag existieren. Wenn Sie es nicht innerhalb des übergeordneten Tags verschachteln, können Sie es möglicherweise nicht auswählen.

Sie können auch querySelectorAll verwenden, um die Elemente auszuwählen.

document.querySelectorAll('td'); 

jsFiddle

+0

Versucht, aber nicht funktioniert –

+0

Wahrscheinlich, weil es keine 'text' -Eigenschaft gibt? – adeneo

+0

stellen Sie sicher, dass es in der Tabelle Tag enthalten ist

' –