ChrisB: mehrere Inputboxen per Javascript ausschalten

Beitrag lesen

Hi,

Klar. Du kannst z.B. getElementsByTagName() auch auf ein form- oder div-Element anwenden und bekommst so eine Collection der gesuchten Elemente *in* diesem form oder div, über die du dann iterieren kannst.

getElementById wird hier wahrscheinlich passend sein, da ich mehree divs im html code besitze.

Aber nicht mit gleicher ID, oder? Das wäre nämlich nicht erlaubt.

Wie bekomme ich die Anzahl der Items in einem solchen div heraus?

Die getElementsBy-Methoden liefern eine NodeList, und die hat auch eine length-Eigenschaft,

Muss ich den exakten Pfad für das <div id="rahmen"> angeben oder sucht die Funktion getElementById sowieso das ganze html script nach der angegebenen Id ab?

So etwas wie einen „Pfad“, innerhalb dessen gesucht würde, gibt es bei getElementById nicht - weil die ID wie oben gesagt dokumentweit eindeutig sein *muss*, und die Methode auch nur document zur Verfügung steht.

Bei den getElementsBy-Methoden ist das anders - die kannst du, wie Martin schon schrieb, auf so gut wie jedem beliebigen HTML-Elementobjekt aufrufen.

//für <div id="rahmen"></div>
var length = document.form1.getElementById("rahmen");

for(int i=0; i<length; i++)
{
  document.form1.getElementById("rahmen")[i].disabled = true;
}

  
Das ist mehrfacher Hinsicht Unfug.  
ID muss eindeutig sein,  
getElementById ist eine Methode von document,  
und eine length-Eigenschaft hat der Rückgabewert auch nicht, weil er keine NodeList ist, sondern entwede rein konkretes HTML-Elementobjekt, oder null.  
  
MfG ChrisB  
  

-- 
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?