Matthias Apsel: JQuery parents(Selektor)

Beitrag lesen

Om nah hoo pez nyeetz, alle!

Die Zeile $('code br').parents('code').addClass('block'); sollte nach meinem Verständnis

  • alle br-Elemente innerhalb von code-Elementen suchen
  • deren Vorfahren-Elementen vom Typ code die Klasse block verpassen

In diesem Forum sorgt sie als

$(document).ready(function(){  
	$('code br').parents('code').addClass('block'); //Codeblöcke hervorheben  
})

für die Hervorhebung von Codeblöcken.

Manchmal jedoch versagt der Code.

foo {  
  bar: quz;  
}

wird nicht hervorgehoben, das zugrunde liegende HTML ist

<code class="css" title="css">  
  <span class="element-selector">  
    foo  
  </span>  
  <span class="declarations">  
    {  
    <br>  
    <span class="unknown-property">  
      bar  
      <span class="property-value">  
        : quz;  
      </span>  
    </span>  
    <br>  
    }  
  </span>

</code>

Hier bekommt das span.declarations die Klasse block. (getestet JQuery 1.10.2, FF 26)

Offensichtlich ist das immer dann der Fall, wenn ein span-Element mit br noch „ältere“ Geschwister ohne br hat.

Ist das ein JQuery-Fehler?
Ist das ein Layer8-Fehler?

Matthias

--
Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Dom und Domina.