maik87
Goto Top

Objektreferenzierung Tabellenzelle

Hallo Leute,

ich bin blutiger Anfänger in JS und stehe vor einem unlösbaren Problem.

Ich habe in html eine Tabelle:
<html>
 <table>
  <tr>
   <td name="test1" class="hidden">versteckt</td>     
   <td name="test2" class="nothidden">nicht versteckt</td>  
  </tr>
 </table>
</html>

Jetzt möchte ich mit JavaScript die Klasse des Objects auslesen bzw anpassen. Der Ansatz sieht so aus:
alert(window.document.getElementsByName("test1").class);  

Leider kommt dabei immer "undefined" raus. Egal was ich mache...
Kann mir jemand auf die Sprünge helfen??

Content-ID: 188317

Url: https://administrator.de/forum/objektreferenzierung-tabellenzelle-188317.html

Ausgedruckt am: 06.04.2025 um 23:04 Uhr

Maxim24
Maxim24 19.07.2012 um 23:49:53 Uhr
Goto Top
alert(window.document.getElementsByName("test1").className);
Maik87
Maik87 20.07.2012 um 08:38:10 Uhr
Goto Top
Super, läuft face-smile

Noch eine Frage...
Ich kann ja mehreren Objekten den gleichen Namen geben. Wie mach ich es nun, dass alle Objekte mit der Funktion angesprochen werden?
Maxim24
Maxim24 20.07.2012 um 10:19:26 Uhr
Goto Top
Ich bin nicht sicher, ob ich die Frage richtig verstehe.

Möglichkeit 1)
Verwendung von eindeutigen id-Tags. Etwa so:

<html>
 <table>
  <tr>
   <td id="tbl1row01col01" name="test1" class="hidden">versteckt</td>     
   <td id="tbl1row01col02" name="test2" class="nothidden">nicht versteckt</td>  
  </tr>
 </table>

 <table>
  <tr>
   <td id="tbl2row01col01" name="test1" class="hidden">versteckt</td>     
   <td id="tbl2row01col02" name="test2" class="nothidden">nicht versteckt</td>  
  </tr>
 </table>

</html>

alert(window.document.getElementById("tbl2row01col02").className);


Möglichkeit 2)
Wenn weiterhin mit der getElementsByName()-Methode gearbeitet werden soll, dann wird ein Loop fällig. Etwa so:
try {
    var arrElements = window.document.getElementsByName("test1");
    for (var i=0; i < arrElements.length; i++) {
      alert(i+': className=\''+arrElements[i].className+'\'; id=\''+arrElements[i].id+'\'');
    }
} catch(e) {
    var sErrMsg = e.message || 0; alert('Error: \n\n'+e+'\n'+sErrMsg);
}
Maik87
Maik87 30.07.2012 um 09:25:58 Uhr
Goto Top
Perfekt - läuft - danke!!