class Nokogiri::CSS::Node - nokogiri-1.10.3 Documentation

# class Nokogiri::CSS::Node

### Constants

ALLOW_COMBINATOR_ON_SELF

### Attributes

type[RW]

Get the type of this node

value[RW]

Get the value of this node

### Public Class Methods

new(type, value) click to toggle source

Create a new Node with `type` and `value`

    # File lib/nokogiri/css/node.rb, line 12
    def initialize type, value
      @type = type
      @value = value
    end

### Public Instance Methods

accept(visitor) click to toggle source

Accept `visitor`

    # File lib/nokogiri/css/node.rb, line 18
    def accept visitor
      visitor.send(:"visit_#{type.to_s.downcase}", self)
    end

find_by_type(types) click to toggle source

Find a node by type using `types`

    # File lib/nokogiri/css/node.rb, line 30
    def find_by_type types
      matches = []
      matches << self if to_type == types
      @value.each do |v|
        matches += v.find_by_type(types) if v.respond_to?(:find_by_type)
      end
      matches
    end

to_a() click to toggle source

Convert to array

    # File lib/nokogiri/css/node.rb, line 47
    def to_a
      [@type] + @value.map { |n| n.respond_to?(:to_a) ? n.to_a : [n] }
    end

to_type() click to toggle source

Convert #to_type

    # File lib/nokogiri/css/node.rb, line 40
    def to_type
      [@type] + @value.map { |n|
        n.to_type if n.respond_to?(:to_type)
      }.compact
    end

to_xpath(prefix = '//', visitor = XPathVisitor.new) click to toggle source

Convert this CSS node to xpath with `prefix` using `visitor`

    # File lib/nokogiri/css/node.rb, line 24
    def to_xpath prefix = '//', visitor = XPathVisitor.new
      prefix = '.' if ALLOW_COMBINATOR_ON_SELF.include?(type) && value.first.nil?
      prefix + visitor.accept(self)
    end