CSS-Selektor für Attributnamen basierend auf einem Platzhalter

8

Ich habe kürzlich ein wenig über CSS-Selektoren gelernt und bin auf eine Frage bezüglich der neuen "data-*" -Attribute gestoßen.

Ich verstehe, dass es einige Möglichkeiten gibt, Elemente mit einem Datenattribut auszuwählen:

%Vor%

Es gibt andere Variationen davon, aber meine Frage bezieht sich auf CSS-Selektoren, die Elemente mit einem "data" -Attribut ausrichten können. Genauer gesagt, gibt es einen CSS-Selektor, der Elemente ansteuern kann, die überhaupt ein Attribut "data" haben?

Obwohl falsch, denke ich an etwas wie:

%Vor%

Ich habe über Google gesucht, aber noch nichts über einen generischen Selektor für das Attribut gefunden.

    
Shawn Taylor 19.01.2014, 20:42
quelle

3 Antworten

4

Nein, für Attributnamen in CSS-Selektoren gibt es keine Platzhalter. Alle Attributselektoren unterliegen einem bestimmten Attributnamen.

    
Jukka K. Korpela 19.01.2014, 21:15
quelle
3

Wie Sie bereits erwähnt haben, gibt es mehrere Möglichkeiten, den Wert eines HTML-Attributs zu bestimmen.

  
  • E [foo="bar"]

         

    ein E-Element, dessen "foo" -Attributwert genau ist   gleich "bar"

  •   
  • E [foo ~="bar"]

         

    ein E-Element, dessen "foo" -Attributwert eine Liste von durch Leerzeichen getrennten Werten ist, von denen einer genau gleich "bar" ist

  •   
  • E [foo ^="bar"]

         

    ein E-Element, dessen Attributwert "foo" genau mit der Zeichenfolge "bar" beginnt

  •   
  • E [foo $="bar"]

         

    ein E-Element, dessen Attributwert "foo" genau mit der Zeichenfolge "bar" endet

  •   
  • E [foo *="bar"]

         

    ein E-Element, dessen Attributwert "foo" die Teilzeichenfolge "bar" enthält

  •   
  • E [foo |="en"]

         

    ein E-Element, dessen Attribut "foo" eine durch Bindestriche getrennte Liste von Werten hat, die (von links) mit "en"

    beginnen
  •   

Es gibt jedoch nur eine Möglichkeit, den Attributnamen selbst zu bestimmen:

  
  • E [foo]

         

    ein E-Element mit einem "foo" -Attribut

  •   

Daher gibt es derzeit keine Methoden zum Platzieren von Attributnamen mit Platzhaltern:

%Vor%

Quelle: W3C Selektoren Level 3 Spezifikation

Von eine weitere Antwort zu einer ähnlichen Frage:

  

Es gibt ein neues    thread   in der Mailingliste [email protected], wo Simon Pieters von Opera   hat ein schönes möglich vorgeschlagen    Syntax   Das hat eine gewisse Akzeptanz im Thread, also besteht die Möglichkeit, dass   Es wird irgendwann in der Zukunft Standard:

     %Vor%
    
Michael_B 27.04.2016 13:28
quelle
-1
___ qstntxt ___

Ich habe kürzlich ein wenig über CSS-Selektoren gelernt und bin auf eine Frage bezüglich der neuen "data-*" -Attribute gestoßen.

Ich verstehe, dass es einige Möglichkeiten gibt, Elemente mit einem Datenattribut auszuwählen:

%Vor%

Es gibt andere Variationen davon, aber meine Frage bezieht sich auf CSS-Selektoren, die Elemente mit einem "data" -Attribut ausrichten können. Genauer gesagt, gibt es einen CSS-Selektor, der Elemente ansteuern kann, die überhaupt ein Attribut "data" haben?

Obwohl falsch, denke ich an etwas wie:

%Vor%

Ich habe über Google gesucht, aber noch nichts über einen generischen Selektor für das Attribut gefunden.

    
___ qstnhdr ___ CSS-Selektor für Attributnamen basierend auf einem Platzhalter ___ answer21222776 ___

Nein, für Attributnamen in CSS-Selektoren gibt es keine Platzhalter. Alle Attributselektoren unterliegen einem bestimmten Attributnamen.

    
___ tag123css ___ CSS (Cascading Style Sheets) ist eine Darstellungsstilsprache, die das Aussehen und die Formatierung von HTML (Hyper Text Markup Language), XML-Dokumenten (Extensible Markup Language) und SVG-Elementen einschließlich (aber nicht beschränkt auf) Farben beschreibt. Layout, Schriftarten und Animationen. ___ answer36891269 ___

Wie Sie bereits erwähnt haben, gibt es mehrere Möglichkeiten, den Wert eines HTML-Attributs zu bestimmen.

  
  • E [foo="bar"]

         

    ein E-Element, dessen "foo" -Attributwert genau ist   gleich "bar"

  •   
  • E [foo ~="bar"]

         

    ein E-Element, dessen "foo" -Attributwert eine Liste von durch Leerzeichen getrennten Werten ist, von denen einer genau gleich "bar" ist

  •   
  • E [foo ^="bar"]

         

    ein E-Element, dessen Attributwert "foo" genau mit der Zeichenfolge "bar" beginnt

  •   
  • E [foo $="bar"]

         

    ein E-Element, dessen Attributwert "foo" genau mit der Zeichenfolge "bar" endet

  •   
  • E [foo *="bar"]

         

    ein E-Element, dessen Attributwert "foo" die Teilzeichenfolge "bar" enthält

  •   
  • E [foo |="en"]

         

    ein E-Element, dessen Attribut "foo" eine durch Bindestriche getrennte Liste von Werten hat, die (von links) mit "en"

    beginnen
  •   

Es gibt jedoch nur eine Möglichkeit, den Attributnamen selbst zu bestimmen:

  
  • E [foo]

         

    ein E-Element mit einem "foo" -Attribut

  •   

Daher gibt es derzeit keine Methoden zum Platzieren von Attributnamen mit Platzhaltern:

%Vor%

Quelle: W3C Selektoren Level 3 Spezifikation

Von eine weitere Antwort zu einer ähnlichen Frage:

  

Es gibt ein neues    thread   in der Mailingliste [email protected], wo Simon Pieters von Opera   hat ein schönes möglich vorgeschlagen    Syntax   Das hat eine gewisse Akzeptanz im Thread, also besteht die Möglichkeit, dass   Es wird irgendwann in der Zukunft Standard:

     %Vor%
    
___ tag123css3 ___ Die dritte Ausgabe der Cascading Style Sheets-Stilsprache (oft abgekürzt als CSS3) vereint leistungsstarke visuelle Fähigkeiten und vielseitige Designmanipulationstechniken. ___ tag123cssselectors ___ Selektoren sind Muster, die mit Elementen in einer Dokumentstruktur übereinstimmen. In einer CSS-Regel werden sie verwendet, um Stile für Elemente zu definieren, die dem Muster entsprechen. ___ antwort43399213 ___

JA, Sie können alle Elemente auswählen, die einen bestimmten Wert eines bestimmten Attributs haben:

[ type] selects all elements that have a type="anything". attribute

    
___
Joshua Copeland 13.04.2017 18:21
quelle

Tags und Links