Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[jQuery] :eq met variabele?

Gooly
3 antwoorden
  • Is het mogelijk om binnen jQuery de waarde van ':eq()' in een variabele te gebruiken? En zo ja, hoe?

    Doe ik namelijk
    [code:1:57bbee04c6]
    var indexNumber = 2;
    $('.slidemenuImgbox img:eq(indexNumber)').addClass('blabla');
    [/code:1:57bbee04c6]
    dan gebeurt er niks.
    Doe ik
    [code:1:57bbee04c6]
    $('.slidemenuImgbox img:eq(2)').addClass('blabla');
    [/code:1:57bbee04c6]
    Dan gaat het helemaal goed.


    De achterliggende gedachte is overigens dat ik de class aan wil passen van een afbeelding (uit een reeks), aan de hand van een hover over een list item (<li>;) in een unordered list even verderop.
    De index van het list item wordt dan dus in de variabele 'indexNumber' opgeslagen zodat ik de bijbehorende afbeelding kan bewerken. Het ophalen van het indexnummer gaat overigens al goed. Als ik de waarde van indexNumber dump dan blijkt dit steeds de correcte waarde te zijn.
  • Aangezien mijn probleem redelijk gelezen wordt, maar niemand het antwoord heeft, neem ik aan dat er wel belangstelling voor dit probleem bestaat. Dus hier het antwoord dat ik inmiddels heb gevonden/gekregen:

    Het probleem doet zich voor omdat jQuery een selector als een string beschouwd. Een variabele(naam) zal daarom als 'platte tekst' worden beschouwd. Het gebruik van een variabele met een selector kan voor zover ik nu weet in dit geval op twee manieren:

    [code:1:f07225af60]$('.slidemenuImgbox img').eq(indexNumber).addClass('blabla');[/code:1:f07225af60]
    of
    [code:1:f07225af60]$('.slidemenuImgbox img:eq(' + indexNumber + ')').addClass('blabla');[/code:1:f07225af60]
  • Bedankt voor de oplossing!

    - Bas

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.