Element pakken met jQuery

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Donny Wie weet

Donny Wie weet

18/08/2014 21:39:08
Quote Anchor link
Hoi allemaal,

Onderstaand een klein stukje code. Als ik op input name example click, wil ik de data-position pakken van het parent. Dus example1 resulteert in Left en example2 in Right.

Ik weet dat ik $(this). iets moet gebruiken maar kom er niet uit. Bij de functie .find('.div_row') krijg ik altijd de data-position Left. Bij .parents() krijg ik niks, bij .parent() niks en bij .closest() krijg ik ook nils.

Groeten Donny

<div class="div_row" data-position="Left">
<input name="example1">
</div>
<div id="div_row" data-position="Right">
<input name="example2">
</div>
 
PHP hulp

PHP hulp

27/11/2024 07:38:37
 
Erwin H

Erwin H

18/08/2014 22:03:56
Quote Anchor link
Volgens mij zouden de volgende allebei moeten werken:
Code (js)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
$('input').click(function(){
  alert($(this).parent().attr('data-position');
});

//of
$('input').click(function(){
  alert($(this).closest('div').attr('data-position');
});

Opvallend trouwens dat de een een class heeft 'div_row' en de ander een id 'div_row'. Foutje bij het overtikken, of heb je dat echt zo?
Gewijzigd op 18/08/2014 22:04:20 door Erwin H
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

18/08/2014 22:24:01
Quote Anchor link
En (zoals we inmiddels gewend zijn) geeft Donny onvoldoende info.

Toevoeging op 18/08/2014 22:29:36:

PS
data attributes zijn ontwikkeld om zaken simpeler te maken:
Code (js)
PHP script in nieuw venster Selecteer het PHP script
1
alert($(this).parent().data('position'));
Gewijzigd op 18/08/2014 22:24:26 door Ger van Steenderen
 
Erwin H

Erwin H

18/08/2014 23:00:24
Quote Anchor link
Ha, ook weer wat nieuws geleerd. Dat gebruik van de data() functie van jQuery kende ik dan weer niet :-)
 
Donny Wie weet

Donny Wie weet

18/08/2014 23:16:08
Quote Anchor link
@erwin, was een overtik voorbeeld foutje :P
@ger, kan wel heel mn class neergooien, maar denk niet dat je van 1000 regels vrolijk word :)
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

18/08/2014 23:47:59
Quote Anchor link
Ik ben in verwarring, verklaar class (wss niet een js object)
Maar om op je vraag antwoord te geven jQuery.find geeft altijd het eerst gevonden element terug.
 
Donny Wie weet

Donny Wie weet

19/08/2014 00:39:16
Quote Anchor link
Class was inderdaad niet mn js object. Mn class is een HTML renderer, erg belangrijk voor een bepaald onderdeel dat ik gebruik in mn komende website (binnenkort zien jullie daar meer over :) )

Maar oke, even kijken of ik het goed heb:

.find() zoekt vanaf huidige element naar beneden
.parent() pakt de eerste parent van het huidige element
.parents() pakt de opgegeven class/id naar boven tot ie de parent heeft bereikt met het id/class dat is opgegeven
.closest() kan ik niet echt uitleggen (misschien dat jij het kan voor degene die dit lezen)

Klopt mn lijstje een beetje?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.