Frage Wie benutze ich jquery, um das Element mit display = none zu finden und die ID der Elemente an eine Variable zurückzugeben?


Ich benutze jquery, um das Element auf der Seite zu finden, wobei display auf none gesetzt ist und seine id in einer Variablen zurückgibt. Mein Versuch ist unten:

$(".galleryitem[display='none']").this

Kann mir jemand sagen, wo ich falsch liege?


7
2017-07-28 12:14


Ursprung


Antworten:


Ich denke nicht, dass du hinzufügen musst :hidden Pseudo Selektor. Im Folgenden erhalten Sie die ID des Selektors unabhängig davon, ob it is hidden or not.

var elementId = $(".galleryitem").attr("id");

aber wenn Sie hinzufügen, wird es etwas schneller sein-

var elementId = $(".galleryitem:hidden").attr("id");

8
2017-07-28 12:17



  $(".galleryitem:hidden").attr("id");

1
2017-07-28 12:18



Seit jQuery 1.3.2 ist ein Element sichtbar, wenn die vom Browser gemeldete offsetWidth oder offsetHeight größer als 0 ist. Was bedeutet diese Änderung? Das heißt, wenn die CSS-Anzeige Ihres Elements "none" ist oder eines der Elemente des übergeordneten / übergeordneten Elements "none" ist oder die Elementbreite 0 ist und die Höhe des Elements 0 ist, wird ein Element als ausgeblendet gemeldet.

Beispiel:

Das bedeutet die .galleryitem Element wird nur dann als versteckt erkannt, wenn es der Parrent hat Anzeige: keine Stil:

var elementId = $(".parent .galleryitem:hidden").attr("id");

oder

var elementId = $(".galleryitem:hidden").attr("id");

Sie können das für Sie am besten geeignete Beispiel auswählen.


1
2017-12-14 14:59



var elementId = $(".galleryitem:hidden").attr("id");

0
2017-07-28 12:16



Um versteckte Elemente zu finden, können Sie die verwenden :hidden Pseudo Selektor.

$(".galleryitem:hidden").each(function(){
   //do something with each element.
});

Oder wenn Sie nur einen Artikel haben, können Sie einfach Folgendes tun:

var id = $(".galleryitem:hidden")[0].id

Beispiel für jsfiddle


0
2017-07-28 12:17