lindes10: Anzahl Childs unverständlich!!

Beitrag lesen

Du solltest die Augen öffnen - dann siehst Du auch die 2 Text-Knoten, die Zeilenumbruch und Einrückung jeweils nach dem </tr> und vor dem nächsten <tr> bzw. dem </tbody> enthalten.

Ergänzend: Diese Lösung bekommt man auch, indem man weiterforscht und über die childNodes iteriert. Sie haben eine Eigenschaft nodeType, mit der man erkennen kann, dass zwei davon die Text-Nodes sind.

Das waren super Tipps! Hab den Code modifiziert und habe eine Lösung gefunden, die wohl in beiden Browsern funktionieren müsste...

Vielen Dank!

  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head>  
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />  
<title>Test</title>  
<script type="text/javascript">  
function anzahl_zeilen()  
{  
	  var zeilen_gesamt = document.getElementById('szenen').childNodes.length;  
	  document.getElementById("anz").value = zeilen_gesamt;  
	  var zeilen_tats = 0;  
	  for (i=0;i<zeilen_gesamt;i++)  
	  {  
		  if (document.getElementById("szenen").childNodes[i].nodeType == 3)  
		  {  
			  zeilen_tats = zeilen_tats+1;  
		  }  
	  }  
	  document.getElementById('anz_tats').value = zeilen_tats;  
}  
</script>  
</head>  
  
<body>  
<table id="test_table" summary="Test">  
<thead>  
	<tr>  
        <th>Var1</th>  
        <th>Var2</th>  
		<th>Var3</th>  
	</tr>  
</thead>  
<tfoot>  
</tfoot>  
<tbody id="szenen"><tr>  
    		<td>  
            	<select name='b1'>  
                	<option value="ja">ja</option>  
                	<option value="nein">nein</option>  
                </select>  
            </td>  
            <td>  
            	<input name='b1' type="text" value="" size="20" maxlength="50" />  
            </td>  
            <td>  
            	<input name='b2' type="text" value="" size="20" maxlength="50" />  
            </td>  
        </tr>  
        <tr>  
    		<td>  
            	<select name='c1'>  
                	<option value="ja">ja</option>  
                	<option value="nein">nein</option>  
                </select>  
            </td>  
            <td>  
            	<input name='c1' type="text" value="" size="20" maxlength="50" />  
            </td>  
            <td>  
            	<input name='c2' type="text" value="" size="20" maxlength="50" />  
            </td>  
        </tr>  
</tbody>  
</table>  
<input name="button" type="button" value="Anzahl Zeilen" onclick="anzahl_zeilen()" />  
<label for="anz">Anzahl Kinder:</label>  
<input id="anz" name="anz" type="text" value="" />  
<label for="anz_tats">Anzahl Reihen:</label>  
<input id="anz_tats" name="anz_tats" type="text" value="" />  
</body>  
</html>