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-Key: 188317

Url: https://administrator.de/contentid/188317

Printed on: April 25, 2024 at 08:04 o'clock

Member: Maxim24
Maxim24 Jul 19, 2012 at 21:49:53 (UTC)
Goto Top
alert(window.document.getElementsByName("test1").className);
Member: Maik87
Maik87 Jul 20, 2012 at 06:38:10 (UTC)
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?
Member: Maxim24
Maxim24 Jul 20, 2012 at 08:19:26 (UTC)
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);
}
Member: Maik87
Maik87 Jul 30, 2012 at 07:25:58 (UTC)
Goto Top
Perfekt - läuft - danke!!