En utilisant JQuery comment puis-je sélectionner tous les articles <select>
qui n'ont pas d'enfants <option>
.JQuery sélectionner tous les sélections sans options
J'ai essayé $(".MySelectsClass).not("option")
qui n'a pas fonctionné.
En utilisant JQuery comment puis-je sélectionner tous les articles <select>
qui n'ont pas d'enfants <option>
.JQuery sélectionner tous les sélections sans options
J'ai essayé $(".MySelectsClass).not("option")
qui n'a pas fonctionné.
Vous pouvez utiliser :not
avec :has
sélecteur:
$(".MySelectsClass:not(:has(option)))
Vous pouvez utiliser le sélecteur :empty
:
$('.MySelectsClass:empty').addClass('foo');
.foo {
border: 1px solid red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="MySelectsClass"></select>
<select class="MySelectsClass">
<option>Not empty!</option>
</select>
<select class="MySelectsClass"></select>
Cette méthode serait plus performante par rapport à l'utilisation du non et le droit? – nauti
Je ne suis pas sûr sur la performance, vous pouvez le tester avec http://jsperf.com si vous le souhaitez. Personnellement, je préfère en raison de la brièveté, et d'être plus clair dans son intention –
@nauti votre question n'a pas posé de questions sur la performance. Généralement, vous voulez clarifier les performances, sauf si vous avez un cas particulier où vous essayez de faire quelque chose 1000 fois par seconde, auquel cas vous voudrez probablement envisager de le faire d'une manière différente de toute façon. –
Vous pouvez toujours utiliser filter pour appliquer un filtre arbitraire, par exemple dans ce cas:
console.log($("select").length);
var emptyselects = $("select").filter(function(i) {
return $(this).find("option").length === 0;
});
console.log(emptyselects.length);
console.log(emptyselects.attr("id"));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select id="s1">
</select>
<select id="s2">
<option>a</option>
</select>
double possible de [Comment sélectionner les éléments qui n'ont pas un élément enfant spécifique avec JQuery] (http://stackoverflow.com/questions/7258606/how-to-select- elements-which-do-not-have-a-specific-child-element-with-jquery) – Mohammad
Pourriez-vous ajouter un extrait de votre code HTML "* [mcve] *", afin que nous puissions voir ce que votre no-option '
@DavidThomas est-il sûr de supposer ''? '