Class: Dommy::HTMLAnchorElement
Overview
‘<a>` — exposes URL-component getters/setters via the `href` attribute, plus reflected `target` / `download` / `rel` / `type`.
Constant Summary
Constants inherited
from Element
Element::ATTRIBUTE_NODE, Element::CDATA_SECTION_NODE, Element::COMMENT_NODE, Element::DOCUMENT_FRAGMENT_NODE, Element::DOCUMENT_NODE, Element::DOCUMENT_POSITION_CONTAINED_BY, Element::DOCUMENT_POSITION_CONTAINS, Element::DOCUMENT_POSITION_DISCONNECTED, Element::DOCUMENT_POSITION_FOLLOWING, Element::DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, Element::DOCUMENT_POSITION_PRECEDING, Element::DOCUMENT_TYPE_NODE, Element::ELEMENT_NODE, Element::PROCESSING_INSTRUCTION_NODE, Element::SHADOW_HOST_TAGS, Element::TEXT_NODE
Constants included
from Node
Node::ATTRIBUTE_NODE, Node::CDATA_SECTION_NODE, Node::COMMENT_NODE, Node::DOCUMENT_FRAGMENT_NODE, Node::DOCUMENT_NODE, Node::DOCUMENT_POSITION_CONTAINED_BY, Node::DOCUMENT_POSITION_CONTAINS, Node::DOCUMENT_POSITION_DISCONNECTED, Node::DOCUMENT_POSITION_FOLLOWING, Node::DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, Node::DOCUMENT_POSITION_PRECEDING, Node::DOCUMENT_TYPE_NODE, Node::ELEMENT_NODE, Node::PROCESSING_INSTRUCTION_NODE, Node::TEXT_NODE
Instance Attribute Summary
Attributes inherited from Element
#__node__, #document
Instance Method Summary
collapse
Methods inherited from Element
#[], #[]=, #__js_call__, #__shadow_root__, #after, #anchor_href, #append, #append_child, #attach_shadow, #attributes, #base_uri, #before, #blur, #child_element_count, #child_nodes, #children, #class_list, #class_name, #class_name=, #click, #clone_node, #closest, #compare_document_position, #contains?, #dataset, #equal_node?, #first_child, #first_element_child, #focus, #get_attribute, #get_attribute_node, #get_elements_by_class_name, #get_elements_by_tag_name, #get_html, #get_inner_html, #has_attribute?, #has_attributes?, #has_child_nodes?, #id, #id=, #initialize, #inner_html, #inner_html=, #insert_adjacent_element, #insert_adjacent_html, #insert_adjacent_text, #insert_before, #is_connected?, #last_child, #last_element_child, #live_child_nodes, #local_name, #matches?, #namespace_uri, #next_element_sibling, #next_sibling, #normalize, #on, #outer_html, #outer_html=, #owner_document, #parent_element, #parent_node, #prepend, #previous_element_sibling, #previous_sibling, #query_selector, #query_selector_all, #reflected_attr_name, #remove, #remove_attribute, #remove_attribute_node, #remove_child, #replace_child, #replace_children, #replace_with_nodes, #role, #role=, #root_node, #same_node?, #set_attribute, #set_attribute_node, #shadow_root, #slot, #slot=, #style, #tag_name, #text_content, #text_content=, #to_s, #toggle_attribute
#__deliver_event__, #add_event_listener, #dispatch_event, #invoke_listener, #remove_event_listener
Constructor Details
This class inherits a constructor from Dommy::Element
Instance Method Details
#__js_get__(key) ⇒ Object
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
|
# File 'lib/dommy/html_elements.rb', line 101
def __js_get__(key)
case key
when "target"
target
when "download"
download
when "rel"
rel
when "hreflang"
hreflang
when "type"
type
when "hash"
self.hash
when "host"
host
when "hostname"
hostname
when "pathname"
pathname
when "protocol"
protocol
when "search"
search
when "port"
port
when "origin"
origin
else
super
end
end
|
#__js_set__(key, value) ⇒ Object
134
135
136
137
138
139
140
141
|
# File 'lib/dommy/html_elements.rb', line 134
def __js_set__(key, value)
case key
when "target", "download", "rel", "hreflang"
set_reflected_string(key, value)
else
super
end
end
|
#download ⇒ Object
42
43
44
|
# File 'lib/dommy/html_elements.rb', line 42
def download
reflected_string("download")
end
|
#download=(v) ⇒ Object
46
47
48
|
# File 'lib/dommy/html_elements.rb', line 46
def download=(v)
set_reflected_string("download", v)
end
|
#hash ⇒ Object
URL-decomposition helpers. The anchor’s ‘href` is resolved to an absolute URL (inherited from Element#anchor_href); break it into the standard components on demand.
69
70
71
|
# File 'lib/dommy/html_elements.rb', line 69
def hash
uri_part(:fragment) ? "##{uri_part(:fragment)}" : ""
end
|
#host ⇒ Object
73
74
75
|
# File 'lib/dommy/html_elements.rb', line 73
def host
uri.host ? "#{uri.host}#{port_suffix}" : ""
end
|
#hostname ⇒ Object
77
78
79
|
# File 'lib/dommy/html_elements.rb', line 77
def hostname
uri.host || ""
end
|
#hreflang ⇒ Object
58
59
60
|
# File 'lib/dommy/html_elements.rb', line 58
def hreflang
reflected_string("hreflang")
end
|
#origin ⇒ Object
97
98
99
|
# File 'lib/dommy/html_elements.rb', line 97
def origin
uri.scheme && uri.host ? "#{uri.scheme}://#{uri.host}#{port_suffix}" : ""
end
|
#pathname ⇒ Object
81
82
83
|
# File 'lib/dommy/html_elements.rb', line 81
def pathname
uri.path || "/"
end
|
#port ⇒ Object
93
94
95
|
# File 'lib/dommy/html_elements.rb', line 93
def port
uri.port ? uri.port.to_s : ""
end
|
#protocol ⇒ Object
85
86
87
|
# File 'lib/dommy/html_elements.rb', line 85
def protocol
uri.scheme ? "#{uri.scheme}:" : ""
end
|
#rel ⇒ Object
50
51
52
|
# File 'lib/dommy/html_elements.rb', line 50
def rel
reflected_string("rel")
end
|
#rel=(v) ⇒ Object
54
55
56
|
# File 'lib/dommy/html_elements.rb', line 54
def rel=(v)
set_reflected_string("rel", v)
end
|
#search ⇒ Object
89
90
91
|
# File 'lib/dommy/html_elements.rb', line 89
def search
uri.query ? "?#{uri.query}" : ""
end
|
#target ⇒ Object
34
35
36
|
# File 'lib/dommy/html_elements.rb', line 34
def target
reflected_string("target")
end
|
#target=(v) ⇒ Object
38
39
40
|
# File 'lib/dommy/html_elements.rb', line 38
def target=(v)
set_reflected_string("target", v)
end
|
#type ⇒ Object
62
63
64
|
# File 'lib/dommy/html_elements.rb', line 62
def type
reflected_string("type")
end
|