J'utilise jquery pour trier plusieurs paragraphes. Actuellement, je l'ai configuré pour afficher uniquement les paragraphes commençant par une lettre en cours. Mais maintenant, je voudrais consolider davantage. Si le texte entre les balises de paragraphe a plusieurs instances, je voudrais tout sauf le premier caché.Masquer tout mais premier élément correspondant
C'est ce que j'ai pour le moment, mais ça ne marche pas.
var letter = '<?php echo(strlen($_GET['letter']) == 1) ? $_GET['letter'] : ''; ?>'
function finish(){
jQuery('p').each(function(){
if(jQuery(this).text().substr(0,1).toUpperCase() == letter){
jQuery(this).addClass('current-series');
jQuery(this).html(letter + '<span class="hidden">'+jQuery(this).text().slice(1)+ '</span>');
}
else{ jQuery(this).hide();}
})
}
Mise à jour:
Désolé les gars, je sais que c'est un peu difficile à expliquer. Voici un exemple de base:
- La lettre sélectionnée est B
- Les valeurs retournées sont:
balle
balle
balle
Boy
cerveau
Bat
Bat
Chacune de ces valeurs est dans une balise de paragraphe. Y a-t-il un moyen de consolider cela?
balle
Boy
cerveau
Bat
Tout sauf le premier paragraphe ou la première lettre? Je pensais que vous vouliez dire la première lettre réelle. –
Ahh, vous feriez mieux de le faire du côté PHP/Mysql quand vous obtenez les données à l'origine sinon ça devient compliqué. –
Je pense que je comprends ce que vous cherchez maintenant. J'ai mis à jour ma réponse et le jsFiddle. – user113716