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 HTMLElement
#case_sensitive_attribute_names?
Methods inherited from Element
#[], #[]=, #__js_call__, #__scroll_log__, #__shadow_root__, #after, #anchor_href, #animate, #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_animations, #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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
# File 'lib/dommy/html_elements.rb', line 90
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
123
124
125
126
127
128
129
130
|
# File 'lib/dommy/html_elements.rb', line 123
def __js_set__(key, value)
case key
when "target", "download", "rel", "hreflang"
set_reflected_string(key, value)
else
super
end
end
|
#download ⇒ Object
31
32
33
|
# File 'lib/dommy/html_elements.rb', line 31
def download
reflected_string("download")
end
|
#download=(v) ⇒ Object
35
36
37
|
# File 'lib/dommy/html_elements.rb', line 35
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.
58
59
60
|
# File 'lib/dommy/html_elements.rb', line 58
def hash
uri_part(:fragment) ? "##{uri_part(:fragment)}" : ""
end
|
#host ⇒ Object
62
63
64
|
# File 'lib/dommy/html_elements.rb', line 62
def host
uri.host ? "#{uri.host}#{port_suffix}" : ""
end
|
#hostname ⇒ Object
66
67
68
|
# File 'lib/dommy/html_elements.rb', line 66
def hostname
uri.host || ""
end
|
#hreflang ⇒ Object
47
48
49
|
# File 'lib/dommy/html_elements.rb', line 47
def hreflang
reflected_string("hreflang")
end
|
#origin ⇒ Object
86
87
88
|
# File 'lib/dommy/html_elements.rb', line 86
def origin
uri.scheme && uri.host ? "#{uri.scheme}://#{uri.host}#{port_suffix}" : ""
end
|
#pathname ⇒ Object
70
71
72
|
# File 'lib/dommy/html_elements.rb', line 70
def pathname
uri.path || "/"
end
|
#port ⇒ Object
82
83
84
|
# File 'lib/dommy/html_elements.rb', line 82
def port
uri.port ? uri.port.to_s : ""
end
|
#protocol ⇒ Object
74
75
76
|
# File 'lib/dommy/html_elements.rb', line 74
def protocol
uri.scheme ? "#{uri.scheme}:" : ""
end
|
#rel ⇒ Object
39
40
41
|
# File 'lib/dommy/html_elements.rb', line 39
def rel
reflected_string("rel")
end
|
#rel=(v) ⇒ Object
43
44
45
|
# File 'lib/dommy/html_elements.rb', line 43
def rel=(v)
set_reflected_string("rel", v)
end
|
#search ⇒ Object
78
79
80
|
# File 'lib/dommy/html_elements.rb', line 78
def search
uri.query ? "?#{uri.query}" : ""
end
|
#target ⇒ Object
23
24
25
|
# File 'lib/dommy/html_elements.rb', line 23
def target
reflected_string("target")
end
|
#target=(v) ⇒ Object
27
28
29
|
# File 'lib/dommy/html_elements.rb', line 27
def target=(v)
set_reflected_string("target", v)
end
|
#type ⇒ Object
51
52
53
|
# File 'lib/dommy/html_elements.rb', line 51
def type
reflected_string("type")
end
|