11521 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Sur un site WordPress, j'utilise la bibliothèque JS "select2", qui permet de faire de superbes selects et multiselects.

Elle est appelée par le code suivant :
<link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/css/select2.min.css" rel="stylesheet" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.3/js/select2.min.js"></script>

Ensuite, pour l'appliquer à mes éléments <select>, j'utilise ce code-ci :
jQuery( function( $ ) {
    $( "input[name='wpv_post_search']" ).attr( 'placeholder', 'Recherche par mots-clés...' );
  	$(".js-wpv-filter-trigger").select2({
      placeholder: "Cliquer pour sélectionner"
    });
} );

Cependant, j'ai plusieurs selects, et ne souhaite pas afficher cette interface pour tous...
j'ai essayé d'ajouter ":first-of-type" mais visiblement JS ne fonctionne pas comme ça...

Merci pour votre aide !
Modifié par Adage (11 Feb 2017 - 20:14)
Bizarre, ça aurait du fonctionner avec first-of-type. Peut-être être plus spécifique. Si le input est dans une balise spécifique, la rajouter dans le sélecteur jquery, si possible.

 $('.classeDuneBalise .js-wpv-filter-trigger")....

Modifié par allan00958 (11 Feb 2017 - 21:44)
Administrateur
Bonjour,

le mélange select natifs et custom risque de perturber l'utilisateur m'enfin je n'ai pas la page sous les yeux Smiley smile

Si tu cherches l'équivalent de :first-of-type en jQuery, c'est le sélecteur :first https://api.jquery.com/first-selector/
Ah non, c'est :first-child mais c'est bien :first que tu cherches je pense :
:first a écrit :
Description: Selects the first matched DOM element.

The :first pseudo-class is equivalent to :eq( 0 ). It could also be written as :lt( 1 ). While this matches only a single element, :first-child can match more than one: One for each parent.

Modifié par Felipe (12 Feb 2017 - 07:42)
Meilleure solution