Class | Sass::Selector::Pseudo |
In: |
lib/sass/selector.rb
|
Parent: | Simple |
A pseudoclass (e.g. `:visited`) or pseudoelement (e.g. `::first-line`) selector. It can have arguments (e.g. `:nth-child(2n+1)`).
arg | [R] |
The argument to the selector, or `nil` if no argument was given.
This may include SassScript nodes that will be run during resolution. Note that this should not include SassScript nodes after resolution has taken place. @return [Array<String, Sass::Script::Node>, nil] |
name | [R] |
The name of the selector.
@return [Array<String, Sass::Script::Node>] |
type | [R] |
The type of the selector. `:class` if this is a pseudoclass selector,
`:element` if it‘s a pseudoelement.
@return [Symbol] |
@param type [Symbol] See \{type} @param name [Array<String, Sass::Script::Node>] The name of the selector @param arg [nil, Array<String, Sass::Script::Node>] The argument to the selector,
or nil if no argument was given
# File lib/sass/selector.rb, line 309 309: def initialize(type, name, arg) 310: @type = type 311: @name = name 312: @arg = arg 313: end
@see Selector#to_a
# File lib/sass/selector.rb, line 316 316: def to_a 317: res = [@type == :class ? ":" : "::"] + @name 318: (res << "(").concat(Haml::Util.strip_string_array(@arg)) << ")" if @arg 319: res 320: end
Returns `nil` if this is a pseudoclass selector and `sels` contains a pseudoclass selector different than this one.
@see Selector#unify
# File lib/sass/selector.rb, line 326 326: def unify(sels) 327: return if type == :element && sels.any? do |sel| 328: sel.is_a?(Pseudo) && sel.type == :element && 329: (sel.name != self.name || sel.arg != self.arg) 330: end 331: super 332: end