Gibt es eine Möglichkeit, alle Elemente mit Attributen zu finden, die mit einer bestimmten Zeichenfolge beginnen?
Ich benutze Mootools Framework und das habe ich ausprobiert:
%Vor%Aber es gibt nur alle Elemente auf der Seite aus.
Gibt es also eine Möglichkeit, alle Elemente auf der Seite zu erhalten, die Attribute haben, die mit data-media-
?
Sie können Elemente filtern, die Sie bereits mit übereinstimmenden Daten- * Attributen zurückgeben müssen.
%Vor%in Aktion: Ссылка
Nachteil: Sie müssen es bereits auf eine Sammlung von Elementen, die Sinn machen, z. div.foo oder #someid *
Eine elegantere Lösung wäre es, Slick einen :data()
pseudo hinzuzufügen:
aktualisiertes Beispiel: Ссылка
Sie können so etwas approximieren, indem Sie die Attribute für jedes Element im Container durchlaufen und feststellen, ob der Attributname mit einer Regex übereinstimmt, nach der Sie suchen:
Beispiel: In diesem jsFiddle suche ich nach li
-Elementen mit den Eigenschaften data-media-tv
und data-media-dvd
.
Sie können die Regex so anpassen, dass nur das zurückgegeben wird, was Sie sehen möchten. Möchten Sie nur Elemente sehen, die ein Datenmedium * haben (wie in Ihrer Frage)? Hier gehts .
Beachten Sie, dass dies nicht genau skalierbar ist . Da wir jedes einzelne Element auf der Seite durchlaufen und jedes einzelne Attribut prüfen (aber früh zurückkommen, wenn es gefunden wird), kann dies bei großen Seiten wahrscheinlich langsam sein.
Begrenzen Sie dies auf NUR den Container, den Sie durchsuchen möchten, oder nur die Elemente, die Sie durchlaufen möchten! Wenn Sie dies gegen document.body
ausführen, durchläuft es jedes einzelne Element auf der Seite, ich bin nicht verantwortlich, wenn Ihr Haus dadurch abbrennt. :)
Hier ist es funktionalisiert:
%Vor% Geben Sie in elements
nur die Elemente ein, die Sie überprüfen möchten, möglicherweise über $$
. Wenn Sie alle Elemente in einem Containerelement überprüfen möchten, ersetzen Sie elements
durch container
und container.getChildren()
in jeder Instanz von element
über.
probiere dieses Spiel
kenne einfach den (gemeinsamen) Index / die Position des Attributs data-media-*
und verwende es entsprechend im Code.
Tags und Links javascript mootools html5 css-selectors