Man könnte einen CSS-Selektor wie a[href^="http:"], a[href^="mailto:"]
verwenden, um alle externen und Mail-Links innerhalb eines Dokuments zu vergleichen, aber gibt es eine Möglichkeit, eine "oder" -Anweisung im Anführungszeichen des Selektors zu verwenden: a[href^="(http|mailto):"]
?OR-Anweisung in CSS-Selektor
Antwort
Soweit ich sagen kann, gibt es keine Möglichkeit zu tun, was Sie fragen. In der CSS-Selektor-Spezifikation wird das Pipe-Zeichen für etwas anderes verwendet, wenn es mit Attributselektoren verwendet wird. Es wird als Namespace-Trennzeichen verwendet.
Pro die Wähler spec auf der W3C:
Der Attributname in einem Attributselektor als CSS qualifizierte Namen gegeben: ein Namespacepräfix der zuvor erklärt wurde, kann mit dem Attributnamen vorangestellt werden getrennt durch den Namensraum Trennzeichen "vertikale Leiste" (|). In Übereinstimmung mit den Namespaces in der XML-Empfehlung gelten die Standardnamespaces nicht für Attribute , daher gelten Attributselektoren ohne Namespace-Komponente nur für Attribute, die keinen Namespace haben (äquivalent zu "| attr"; diese Attribute werden genannt) in der "pro-Element-Typ Namespace Partition"). Ein Sternchen kann für das Namespace-Präfix verwendet werden, das angibt, dass der Selektor alle Attributnamen ohne in Bezug auf den Namespace des Attributs abgleichen soll.
CSS examples:
@namespace foo "http://www.example.com";
[foo|att=val] { color: blue }
[*|att] { color: yellow }
[|att] { color: green }
[att] { color: green }
Die erste Regel wird mit dem Attribut att im „http://www.example.com“ Namespace mit dem Wert „val“ nur Elemente entsprechen.
Die zweite Regel passt nur Elemente mit dem Attribut att unabhängig vom Namespace des Attributs (einschließlich kein Namespace).
Die letzten beiden Regeln sind äquivalent und entsprechen nur Elementen mit dem Attribut att, in dem sich das Attribut nicht in einem Namespace befindet.
Es gibt auch ['[att | = val]'] (http: //www.w3.org/TR/selectors/# attribute-Darstellung), ein Attributselektor, der nach Attribut mit entweder genau "val" oder einem Wert mit dem Präfix "val-" übereinstimmt, aber wie bei Namespace-Präfixen bietet er nicht die geforderte Funktionalität. – BoltClock
ich die CSS-Selektoren Grammatik war die Überprüfung, scheint aber wie der einzige Weg, dies ist mit dem Kommaseparator zu tun:
selectors_group
: selector [ COMMA S* selector ]*
Auch dies sind einige relevante lexikalische Regeln:
{w}"+" return PLUS;
{w}">" return GREATER;
{w}"," return COMMA;
{w}"~" return TILDE;
Es gibt nicht UND noch OR Regeln, aber eine Sache, die ich bemerkt, ist, dass sie Negation haben:
"{N}{O}{T}"(" return NOT;)
Die Symbole sind Kombinatoren (außer die ','). Diese Negation bezieht sich einfach auf die Pseudo-Klasse ': not()', also ist es nichts Besonderes. – BoltClock
@BoltClock: Ich weiß, ist nichts besonderes, ich erwähnte nur ein paar Dinge (relevant für mich) Ich fand auf der CSS-Selektor-Spezifikation. Soll ich meine Antwort entfernen? –
- 1. Select-Anweisung in einer select-Anweisung
- 2. Konvertieren ARM-Anweisung in i386-Anweisung
- 3. TSQL: Wenn Anweisung in einer With-Anweisung
- 4. Nicht erreichbare Anweisung in Switch-Anweisung
- 5. If-Anweisung versus switch-Anweisung in Javascript
- 6. Assembly Language Anweisung in Maschinensprache Anweisung
- 7. Mit If-Anweisung in On-Anweisung
- 8. Mischen einer IF-Anweisung in einer UPDATE-Anweisung in SQL
- 9. Eval in If-Anweisung?
- 10. If-Anweisung in QML
- 11. grep in IF-Anweisung
- 12. DIMENSION-Anweisung in FORTRAN
- 13. iReport-Anweisung in Feldausdruck
- 14. Case-Anweisung in Slim
- 15. SqlParameter und IN-Anweisung
- 16. SELECT-Anweisung in JAVA
- 17. Fall in Select-Anweisung
- 18. Foreach-Anweisung in Listbox
- 19. if-Anweisung in MySQL
- 20. Suchzeichenfolge in vorbereiteter Anweisung
- 21. Trigger-Anweisung in SQL
- 22. Verbund in Anweisung adrett
- 23. Gruppenkonkat in Mysql-Anweisung
- 24. Problem in try-Anweisung
- 25. Fehler in Mysql-Anweisung
- 26. Case-Anweisung in MySQL
- 27. Update-Anweisung in Hive
- 28. If-Anweisung in vb.net
- 29. Zählung in Update-Anweisung
- 30. CASE-Anweisung in SQL
Der erste Selektor Sie erwähnt wird tun, was Sie wollen ... – sevenseacat
@sevenseacat: Ist nicht das, was er sagte? – BoltClock