Ho utilizzato con successo il selettore jQuery :nth-child() per rimuovere il margine destro da ogni quarto elemento in un lungo elenco di div. Ecco come si presenta:Rimuovi il margine destro su ogni quarto elemento VISIBILE usando jQuery?
$(".myDivClass:nth-child(4n+4)").css("margin-right", 0);
Ma la pagina è aperto anche per interazione con l'utente (tramite jQuery) e una delle cose che l'utente può fare è nascondere/mostrare elementi. Quando un elemento è nascosto, il suo stile è impostato su "display: none". Gli elementi sono galleggiare per cui se si rimuove un elemento nel mezzo di una riga, un elemento dalla riga sotto si saltare, in questo modo:
Il mio primo pensiero è stato quello di rifare il tutto dal primo aggiungere un margine a tutti gli elementi e quindi rimuoverlo da ogni quarto elemento visibile; qualcosa di simile:
$(".myDivClass").css("margin-right","20px");
$(".myDivClass:visible:nth-child(4n+4").css("margin-right", 0);
Ma la seconda fila non fa nulla e non credo che si può impilare pseudo selettori come nell'esempio sopra
C'è una soluzione a questo problema (?)? C'è un modo migliore per farlo?
Grazie in anticipo!
/Thomas
Forse prova a utilizzare una classe che aggiungi e rimuovi per rendere più facile il targeting? E sì, dovresti essere in grado di impilare pseudo selettori – Mottie