Antipitch: JavaScript, HTML, und Visualisierung

Beitrag lesen

Moin plan_B,

wie ich es jetzt sehe, ist

<table name="TABLE_2" ...>


>   
> ~~~javascript
  

>  var tbl2=document.getElementsByName("TABLE_2");  
>  alert("tbl2.length "+ tbl2.length); // length 0  
> 

~~~ ein leeres Array.  
  
Darüber hab ich mich beim Finden eines [etwas anderen Lösungsweges](https://forum.selfhtml.org/?t=160485&m=1043896) auch gewundert. Wenn du das alert hinter die Tabelle in den <body> schreibst, gehts allerdings. Hat vielleicht auch was mit dieser "Oh, entschuldigen Sie, aber diese Tabelle muss ich erstmal rendern"-Geschichte zu tun(?)...  
  
Auch festgestellt habe ich dabei, dass der FF für die vorliegenden Tabellen (in der vorliegenden Schreibweise) den Zeilenumbruch nach den <tr> als firstChild interpretiert und ich deshalb das hier  
  
if (rows[i].firstChild.nodeType == "3") {  
    rows[i].firstChild.nextSibling.setAttributeNode(newWidth);  
    rows[i].firstChild.nextSibling.removeAttribute("nowrap");  
    } else {  
    rows[i].firstChild.setAttributeNode(newWidth);  
    rows[i].firstChild.removeAttribute("nowrap");  
    }  
  
geschrieben habe. Unbefriedigend.  
  

> da finde ich diese Beispiel verblüffend. Alle nowrap-Attribute verschwunden  
> ~~~javascript
  

>   var tds=tbl.getElementsByTagName("td");  
>   for (var i=0,td;td=tds[i];i++) {  
>    td.noWrap=false;  
>    }  
>   alert(tbl.innerHTML);  
>   
> 

Wie du siehst, hatte ich das mit dem nowrap entfernen direkt gemacht, weil der FF bei dem Weg über Erzeugung eines width-Attributs für die <td>s selbige nicht schmaler macht, als der Textinhalt/Zeilenbreite es erfordert. Sieht bei Zeilenumbruch allerdings Kacke aus, wenn man den zweiten <td>s nicht auch gleichzeitig ein valign top gibt.

Steckt mehr in der Ausgangsfrage als man zunächst denkt, oder?

Gruß
Antipitch