Archief - Data-attributes

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Scissor

Legacy Member
Zit met een vraagje en krijg het maar niet opgelost. Situatie is als volgt:

ergens op de pagina wordt er een <ul> gemaakt dynamisch met allemaal titels, sommige met hoofdletters en spaces. Ik neem die text-waarde van het geklikte list-item, zet'm naar lowercase en sla'm bij click op in een variabel.

Ik wil in een andere <ul> waarvan alle list-items een data-attribute hebben een filtering doorvoeren om alle list-items met dezelfde waarde als die variabel te laten zien en de rest te hiden. Als ik het hardcode lukt het en als ik de variabel alert krijg ik dezelfde waarde als het hardcoded gedeelte, maar 'k krijg'm er niet in :s

Code:
var name = $(this).text().toLowerCase();
alert(name);

/*Om te testen even gewoon kleurtje groen geven*/
$('.event').filter('[data-name=' + name + ']').css('color','green');

Als ik de naam er in hardcode (zelfde resultaat als de alert) dan werkt alles perfect.

-BVR-

Legacy Member
Var wordt pas gemaakt wanneer je een click event hebt. Zit die .css() ook in die click? En gebruik je gewoon $(el).click(function() { of $(el).on("click", function() {? Bij dynamisch geladen toestanden, gebruik het laatste.

Scissor

Legacy Member
Hieronder de fiddle, die css zit inderdaad in de click. Die css dient trouwens enkel om te kijken of de juiste items geselecteerd worden. Op de fiddle werkt het zoals het hoort, maar bij dynamisch geladen stuff werkt het niet...grrrr

http://jsfiddle.net/3pshn/1/

W0utR

Legacy Member
Omdat die .on() direct gebonden word aan de elementen die je selecteerd, je kan gemakkelijk een extra parameter meegeven, iets zoals:

Code:
$('ul#list_one').on('click', 'li', function(){
als je nu dynamisch list items zou toevoegen zou het gewoon moeten werken.

Scissor

Legacy Member
Werkt nog steeds niet. Denk dat 't misschien ligt aan iets met hoofdletters en spaces specifiek aan data attribute.

Scissor

Legacy Member
Jep, maar heb een wordpress op localhost staan en daar werkt ie dus niet. Hier wat mee zitten prutsen

als'k enkele haakjes gebruik voor [data-name=' + name + '] dan werkt hij, maar enkel voor waarden die uit 1 woord bestaan en is hoofdletter gevoelig. Met dubbele haakjes ( [data-name=" + name + "] werkt hij niet...

Edit: fixed, gewoon de wordpress functie iets veranderd zodat hij de tekst rechtstreeks in een data-attribute steekt bij de eerste <ul> en dan doet hij niet moeilijk.
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan