Mit JQuery können Sie alle <select>
Elemente auswählen, für die keine <option>
Kinder vorhanden sind.JQuery Alle Auswahloptionen ohne Optionen auswählen
Ich versuchte $(".MySelectsClass).not("option")
, die nicht funktionierte.
Mit JQuery können Sie alle <select>
Elemente auswählen, für die keine <option>
Kinder vorhanden sind.JQuery Alle Auswahloptionen ohne Optionen auswählen
Ich versuchte $(".MySelectsClass).not("option")
, die nicht funktionierte.
Sie :not
mit :has
Selektor verwenden:
$(".MySelectsClass:not(:has(option)))
Sie können den :empty
Selektor:
$('.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>
Diese Methode wäre leistungsfähiger im Vergleich zur Verwendung der nicht und die hat Recht? – nauti
Ich bin mir nicht sicher über die Leistung, Sie können es mit http://jsperf.com testen, wenn Sie möchten. Persönlich bevorzuge ich es aus Gründen der Kürze und klarer in seiner Absicht –
@nauti Ihre Frage nicht nach Leistung gefragt. Im Allgemeinen wollen Sie über die Leistung klarstellen, es sei denn, Sie haben einen Nischenfall, in dem Sie versuchen, etwas 1000-mal pro Sekunde zu tun, in welchem Fall Sie wahrscheinlich auf eine andere Art und Weise schauen möchten. –
Sie immer filter jeden beliebigen Filter anwenden können, zB in diesem Fall:
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>
Mögliche Duplikat von [Wie Elemente auszuwählen, die mit JQuery kein spezifisches geordnetes Element haben] (http://stackoverflow.com/questions/7258606/how-to-select- elements-which-do-not-have-a-specific-kind-element-with-jquery) – Mohammad
Könnten Sie ein Snippet Ihres "* [mcve] *" HTML hinzufügen, damit wir sehen können, was Ihre Nicht-Option '
@DavidThomas sicher anzunehmen ''? '