Camping_RIDER: Frage zu Eltern/Kind Blockelemente

Beitrag lesen

Aloha ;)

Laut dem was ich aktuell im Netz gefunden habe ist es ja keine richtige Eltern Kind-Knotenbeziehung oder doch?

Doch, ist es. Jedes html-Element a, dass innerhalb eines html-Element b steht, ist Kindelement (oder Kindknoten) von b und b ist Elternelement (bzw. -knoten) von a.

ein "p" Element ist doch auch wie ein DIV ein Blockelement oder?

Ja.

So wäre doch im nachfolgenden Beispiel der Container mit der id=row1 und id=row2
ein Kindknoten von box1 bzw. box2 oder?

<div id="box1">

<div id="row1>
   <input type="text" name="phsuessmin"/>
   </div>
   <div id="row2>
   <input type="text" name="phsuessmin"/>
   </div>
</div>

<div id="box2">
   <div id="row1>
    <input type="text" name="phsuessmin"/>
   </div>
   <div id="row2>
   <input type="text" name="phsuessmin"/>
   </div>
</div>

  
Ja, richtig. Allerdings ist dein Codeschnipsel nicht valide, da id's über ein gesamtes document hinweg eindeutig sein müssen. Hier wäre für row1,row2 statt id eher class angebracht.  
  

> Wenn ich mit jQuery nur nur auf die id=row1 zugreife  
> so würde er mit  
> $( "#row1 ).find( "input[name\*='Suess']" ).val();  
> so würde er das erste input-feld mit dem name="phpsuessmin"  wahrscheinlich aus box1 finden  
  
Unter oben genanntem Vorbehalt, ja. Vorausgesetzt die jQuery-Funktion find findet immer nur ein Element.  
  

> wenn ich dagegen  
> $( "#box1 ).find( "input[name\*='Suess']" ).val();  
> so würde er sich auf box1 stürzen aber auch nur das erste gefundene ausgeben  
  
Ja.  
  

> wie kann ich nun direkt auf eine Zeile z.B. row-2 zugreifen  
> wenn ich nur die Zeile row-2 aus box1 ) möchte ?  
  
jQuery's Kernstück, die sizzle-Selektorengine, wie inzwischen auch die Standard-Javascript-Funktion `document.querySelectorAll()`{:.language-javascript} interpretiert alle gültigen CSS-Selektoren mit und ohne Kombinatoren. Du kannst also folgendes nutzen:  
  
JavaScript: `document.querySelector('#box1 .row2')`{:.language-javascript}  
Und unter jQuery wahrscheinlich: `$('#box1 .row2')`{:.language-javascript}  
  
Ich habe hier querySelector statt querySelectorAll benutzt, da du eh ja nur ein Element willst.  
  
Grüße,  
  
RIDER  
  

-- 
Camping\_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller  
  
ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[