Morgooth: Rowspan/Colspan

Hi, ich wollte fragen ob es möglich ist, nachträglich mit Javascript irgendwo einen Rowspan bzw Colspan einzufügen?

<body onLoad="zusammenfügen('zeile1_spalte2','zeile4_spalte2')">
so sollte der Denkansatz sein, nur hab ich kein Plan wie und ob das irgendwie geht

  1. Ich kenne dafür keinen Befehl.
    Mit Javascript kannst du auf style-Eigenschaften zugreifen und diese veränderen oder auch den Inhalt verändern, aber Spalten-Zusammenlegungen sind damit nicht möglich.

    Lässt du die Tabelle durch das JavaScript erzeugen oder aus welchem Grund möchtest du sie nachträglich veränderen, ich erkenne darin keinen Einsatz, da sich auch der Inhalt änderen müsste, damit es sinnvoll wäre.

    1. Hi,

      Ich kenne dafür keinen Befehl.

      Einen Befehl gibt es sicherlich nicht dafür (;-)), aber eine Methode gibt es. document.getElementByTagName("td")[0].setAttribute("colspan","2"); entspricht <td colspan="2"> in der ersten TD (jedenfalls theoretisch - ich gehe jetzt einfach mal davon aus, daß es auch praktisch funktioniert ;-)).

      Gruß, Cybaer

      --
      Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
      1. der übliche Flüchtigkeitsfehler:

        document.getElementByTagName("td")[0]...

        document.getElementsByTagName("td")[0]...

        ;->

        Gruß, Cybaer

        --
        Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
  2. Hi, ich wollte fragen ob es möglich ist, nachträglich mit Javascript irgendwo einen Rowspan bzw Colspan einzufügen?

    Dieses Beispiel geht mit colspan und nebeneinander liegenden Zellen. Bei rowspan sind die Prüfungen komplizierter...

    <table border="1" id="table">
    <tr><td id="bla">bla</td><td id="cell1">inhalt1</td><td id="cell2">inhalt2</td></tr>
    </table>

    <input type="button" onclick="test('cell1', 'cell2', ' ')" value="Test 1" />
    <input type="button" onclick="test('bla', 'cell2', ' ')" value="Test 2" />
    <input type="button" onclick="test('table', 'cell2', ' ')" value="Test 2" />

    <script type="text/javascript">
    <!--
      // Tipperei-Verkürzung
      function EL(id) {
       return document.getElementById(id);
      }

    // Parameter: Zelle 1, Zelle 2, Verkettungszeichenkette
     function test(idCell1, idCell2, glue) {
        var cell1 = EL(idCell1);
        var cell2 = EL(idCell2);
        if (glue == null)
          glue = '';

    if ((cell1 == null) || (cell2 == null)) {
         alert('Fehler! Angegebene Elemene sind (teilweise) nicht vorhanden.');
         return;
        }

    if ((cell1.nodeName.toLowerCase() != 'td') || (cell2.nodeName.toLowerCase() != 'td')) {
         alert('Fehler! Angegebene Elemene sind keine Tabellenzellen.');
         return;
        }

    if (cell1.nextSibling != cell2) {
         alert('Fehler! Angegebene Zellen liegen nicht nebeneinander.');
         return;
      }

    var inhalt = cell1.innerHTML + glue + cell2.innerHTML;

    cell1.innerHTML = inhalt;
        cell1.colspan = 2;

    var row = cell2.parentNode;
        row.removeChild(cell2);

    alert(row.outerHTML);
      }

    //-->
    </script>