Toon posts:

[jQuery] Laatste child selecteren binnen meerdere elementen

Pagina: 1
Acties:

Onderwerpen


  • TheNephilim
  • Registratie: September 2005
  • Laatst online: 31-05 14:42
Nu dacht ik best een beetje thuis te zijn in jQuery, maar hier kom ik maar niet uit, misschien weet iemand hier hoe ik dit het beste aanpak.

Het doel

Ik heb een dynamisch dropdown-menu in Wordpress, de laatste elementen moeten een background-image meekrijgen die onder het menu-item verschijnt. Het zijn afgeronde witte hoeken, die dan perfect aansluiten op de rest. Dit doe ik met jQuery, dus achteraf met JavaScript.

De situatie

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<ul id="dropmenu">
  <li>
    <a href="">Home 1.1</a>
    <ul class="children">
      <a href="">Home 2.1</a>
      <a href="">Home 2.2</a>
      <a href="">Home 2.3</a>
    </ul>
  </li>
  <li>
    <a href="">Contact 1.1</a>
    <ul class="children">
      <a href="">Contact 2.1</a>
      <a href="">Contact 2.2</a>
      <a href="">Contact 2.3</a>
    </ul>
  </li>
</ul>


Het probleem

Het plaatje zelf doet het prima, maar slechts op 1 element. Dus alleen op Contact zie ik netjes afgeronde hoeken, maar niet op Home.

Alleen de laatste:
JavaScript:
1
$("#dropmenu .children li:last").css({"background": " url('.get_template_directory_uri().'/images/menu-image.png) no-repeat left bottom"});


Je zou denken alle, maar nu geen 1
JavaScript:
1
$("#dropmenu > .children li:last").css({"background": " url('.get_template_directory_uri().'/images/menu-image.png) no-repeat left bottom"});

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 13-01 10:59

  • TheNephilim
  • Registratie: September 2005
  • Laatst online: 31-05 14:42
Thnx! Dat zocht ik inderdaad, stom dat ik niet in het lijstje gekeken heb :o

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 13-01 10:59
Je zei het al een beetje in je topic (title). Je wilt de last child hebben, niet het laatste element uit de collectie. :)

Anoniem: 269758

Om nog even op je code terug te komen, je zegt li:last, maar je gebruikt geen li?

(Bij de children bedoel ik dan)

[Voor 17% gewijzigd door Anoniem: 269758 op 28-06-2011 18:48]



Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee