<html><head> <link rel="stylesheet" href="style.css" type="text/css"> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> <link rel="Start" href="index.html"> <link title="Index of types" rel=Appendix href="index_types.html"> <link title="Index of exceptions" rel=Appendix href="index_exceptions.html"> <link title="Index of values" rel=Appendix href="index_values.html"> <link title="Index of class methods" rel=Appendix href="index_methods.html"> <link title="Index of class types" rel=Appendix href="index_class_types.html"> <link title="Index of modules" rel=Appendix href="index_modules.html"> <link title="Index of module types" rel=Appendix href="index_module_types.html"> <link title="CSS" rel="Chapter" href="CSS.html"> <link title="Dom" rel="Chapter" href="Dom.html"> <link title="Dom_events" rel="Chapter" href="Dom_events.html"> <link title="Dom_html" rel="Chapter" href="Dom_html.html"> <link title="Event_arrows" rel="Chapter" href="Event_arrows.html"> <link title="File" rel="Chapter" href="File.html"> <link title="Firebug" rel="Chapter" href="Firebug.html"> <link title="Form" rel="Chapter" href="Form.html"> <link title="Js" rel="Chapter" href="Js.html"> <link title="Json" rel="Chapter" href="Json.html"> <link title="Lwt_js" rel="Chapter" href="Lwt_js.html"> <link title="Lwt_js_events" rel="Chapter" href="Lwt_js_events.html"> <link title="Regexp" rel="Chapter" href="Regexp.html"> <link title="Typed_array" rel="Chapter" href="Typed_array.html"> <link title="Url" rel="Chapter" href="Url.html"> <link title="WebGL" rel="Chapter" href="WebGL.html"> <link title="XmlHttpRequest" rel="Chapter" href="XmlHttpRequest.html"><title>Dom</title> </head> <body> <code class="code"><span class="keyword">sig</span><br> <span class="keyword">class</span> <span class="keyword">type</span> [<span class="keywordsign">'</span>node] nodeList =<br> <span class="keyword">object</span><br> <span class="keyword">method</span> item : int <span class="keywordsign">-></span> <span class="keywordsign">'</span>node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> length : int <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">end</span><br> <span class="keyword">type</span> nodeType =<br> <span class="constructor">OTHER</span><br> <span class="keywordsign">|</span> <span class="constructor">ELEMENT</span><br> <span class="keywordsign">|</span> <span class="constructor">ATTRIBUTE</span><br> <span class="keywordsign">|</span> <span class="constructor">TEXT</span><br> <span class="keywordsign">|</span> <span class="constructor">CDATA_SECTION</span><br> <span class="keywordsign">|</span> <span class="constructor">ENTITY_REFERENCE</span><br> <span class="keywordsign">|</span> <span class="constructor">ENTITY</span><br> <span class="keywordsign">|</span> <span class="constructor">PROCESSING_INSTRUCTION</span><br> <span class="keywordsign">|</span> <span class="constructor">COMMENT</span><br> <span class="keywordsign">|</span> <span class="constructor">DOCUMENT</span><br> <span class="keywordsign">|</span> <span class="constructor">DOCUMENT_TYPE</span><br> <span class="keywordsign">|</span> <span class="constructor">DOCUMENT_FRAGMENT</span><br> <span class="keywordsign">|</span> <span class="constructor">NOTATION</span><br> <span class="keyword">val</span> document_position_disconnected : int<br> <span class="keyword">val</span> document_position_preceding : int<br> <span class="keyword">val</span> document_position_following : int<br> <span class="keyword">val</span> document_position_contains : int<br> <span class="keyword">val</span> document_position_contained_by : int<br> <span class="keyword">val</span> document_position_implementation_specific : int<br> <span class="keyword">class</span> <span class="keyword">type</span> node =<br> <span class="keyword">object</span><br> <span class="keyword">method</span> appendChild : <span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> childNodes : <span class="constructor">Dom</span>.node <span class="constructor">Dom</span>.nodeList <span class="constructor">Js</span>.t <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> cloneNode : bool <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> compareDocumentPosition : <span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> int <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> firstChild : <span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> hasChildNodes : bool <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> insertBefore :<br> <span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="keywordsign">-></span> <span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> lastChild : <span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> nextSibling : <span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> nodeName : <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">method</span> nodeType : <span class="constructor">Dom</span>.nodeType <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">method</span> nodeValue : <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">method</span> parentNode : <span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> previousSibling : <span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> removeChild : <span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> replaceChild :<br> <span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">end</span><br> <span class="keyword">class</span> <span class="keyword">type</span> attr =<br> <span class="keyword">object</span><br> <span class="keyword">method</span> appendChild : node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> childNodes : node nodeList <span class="constructor">Js</span>.t <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> cloneNode : bool <span class="constructor">Js</span>.t <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> compareDocumentPosition : node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> int <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> firstChild : node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> hasChildNodes : bool <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> insertBefore :<br> node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> lastChild : node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> name : <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">method</span> nextSibling : node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> nodeName : <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">method</span> nodeType : nodeType <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">method</span> nodeValue : <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">method</span> ownerElement : <span class="constructor">Dom</span>.element <span class="constructor">Js</span>.t <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> parentNode : node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> previousSibling : node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> removeChild : node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> replaceChild : node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> specified : bool <span class="constructor">Js</span>.t <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">method</span> value : <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="constructor">Js</span>.prop<br> <span class="keyword">end</span><br> <span class="keyword">and</span> [<span class="keywordsign">'</span>a] namedNodeMap =<br> <span class="keyword">object</span><br> <span class="keyword">constraint</span> <span class="keywordsign">'</span>a = <span class="constructor">Dom</span>.attr<br> <span class="keyword">method</span> getNamedItem : <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> item : int <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> length : int <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">method</span> removeNamedItem : <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> setNamedItem : <span class="keywordsign">'</span>a <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.meth<br> <span class="keyword">end</span><br> <span class="keyword">and</span> element =<br> <span class="keyword">object</span><br> <span class="keyword">method</span> appendChild : node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> attributes : <span class="constructor">Dom</span>.attr <span class="constructor">Dom</span>.namedNodeMap <span class="constructor">Js</span>.t <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">method</span> childNodes : node nodeList <span class="constructor">Js</span>.t <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> cloneNode : bool <span class="constructor">Js</span>.t <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> compareDocumentPosition : node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> int <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> firstChild : node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> getAttribute :<br> <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> getElementsByTagName :<br> <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="constructor">Dom</span>.element <span class="constructor">Dom</span>.nodeList <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> hasAttribute : <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="keywordsign">-></span> bool <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> hasChildNodes : bool <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> insertBefore :<br> node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> lastChild : node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> nextSibling : node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> nodeName : <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">method</span> nodeType : nodeType <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">method</span> nodeValue : <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">method</span> parentNode : node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> previousSibling : node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> removeAttribute : <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="keywordsign">-></span> unit <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> removeChild : node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> replaceChild : node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> setAttribute :<br> <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="keywordsign">-></span> unit <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> tagName : <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">end</span><br> <span class="keyword">class</span> <span class="keyword">type</span> characterData =<br> <span class="keyword">object</span><br> <span class="keyword">method</span> appendChild : node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> appendData : <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="keywordsign">-></span> unit <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> childNodes : node nodeList <span class="constructor">Js</span>.t <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> cloneNode : bool <span class="constructor">Js</span>.t <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> compareDocumentPosition : node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> int <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> data : <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> deleteData : int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> firstChild : node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> hasChildNodes : bool <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> insertBefore :<br> node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> insertData : int <span class="keywordsign">-></span> <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="keywordsign">-></span> unit <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> lastChild : node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> length : int <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">method</span> nextSibling : node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> nodeName : <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">method</span> nodeType : nodeType <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">method</span> nodeValue : <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">method</span> parentNode : node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> previousSibling : node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> removeChild : node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> replaceChild : node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> replaceData : int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="keywordsign">-></span> unit <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> subjs_stringData : int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">end</span><br> <span class="keyword">class</span> <span class="keyword">type</span> text = characterData<br> <span class="keyword">class</span> <span class="keyword">type</span> documentFragment = node<br> <span class="keyword">class</span> <span class="keyword">type</span> [<span class="keywordsign">'</span>element] document =<br> <span class="keyword">object</span><br> <span class="keyword">method</span> adoptNode : <span class="constructor">Dom</span>.element <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>element <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> appendChild : node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> childNodes : node nodeList <span class="constructor">Js</span>.t <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> cloneNode : bool <span class="constructor">Js</span>.t <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> compareDocumentPosition : node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> int <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> createAttribute : <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="constructor">Dom</span>.attr <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> createDocumentFragment : <span class="constructor">Dom</span>.documentFragment <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> createElement : <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>element <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> createTextNode : <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="constructor">Dom</span>.text <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> documentElement : <span class="keywordsign">'</span>element <span class="constructor">Js</span>.t <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">method</span> firstChild : node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> getElementById :<br> <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>element <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> getElementsByTagName :<br> <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>element <span class="constructor">Dom</span>.nodeList <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> hasChildNodes : bool <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> importNode :<br> <span class="constructor">Dom</span>.element <span class="constructor">Js</span>.t <span class="keywordsign">-></span> bool <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>element <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> insertBefore :<br> node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> lastChild : node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> nextSibling : node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> nodeName : <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">method</span> nodeType : nodeType <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">method</span> nodeValue : <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">method</span> parentNode : node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> previousSibling : node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.prop<br> <span class="keyword">method</span> removeChild : node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> replaceChild : node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">end</span><br> <span class="keyword">val</span> insertBefore :<br> <span class="keywordsign">#</span><span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="keywordsign">#</span><span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="keywordsign">#</span><span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> replaceChild :<br> <span class="keywordsign">#</span><span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="keywordsign">#</span><span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="keywordsign">#</span><span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> removeChild : <span class="keywordsign">#</span><span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="keywordsign">#</span><span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> appendChild : <span class="keywordsign">#</span><span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="keywordsign">#</span><span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> list_of_nodeList : <span class="keywordsign">'</span>a <span class="constructor">Dom</span>.nodeList <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Js</span>.t list<br> <span class="keyword">type</span> node_type =<br> <span class="constructor">Element</span> <span class="keyword">of</span> <span class="constructor">Dom</span>.element <span class="constructor">Js</span>.t<br> <span class="keywordsign">|</span> <span class="constructor">Attr</span> <span class="keyword">of</span> <span class="constructor">Dom</span>.attr <span class="constructor">Js</span>.t<br> <span class="keywordsign">|</span> <span class="constructor">Text</span> <span class="keyword">of</span> <span class="constructor">Dom</span>.text <span class="constructor">Js</span>.t<br> <span class="keywordsign">|</span> <span class="constructor">Other</span> <span class="keyword">of</span> <span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t<br> <span class="keyword">val</span> nodeType : <span class="keywordsign">#</span><span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="constructor">Dom</span>.node_type<br> <span class="keyword">module</span> <span class="constructor">CoerceTo</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">val</span> element : <span class="keywordsign">#</span><span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="constructor">Dom</span>.element <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt<br> <span class="keyword">val</span> text : <span class="keywordsign">#</span><span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="constructor">Dom</span>.text <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt<br> <span class="keyword">val</span> attr : <span class="keywordsign">#</span><span class="constructor">Dom</span>.node <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="constructor">Dom</span>.attr <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt<br> <span class="keyword">end</span><br> <span class="keyword">type</span> (-<span class="keywordsign">'</span>a, -<span class="keywordsign">'</span>b) event_listener<br> <span class="keyword">class</span> <span class="keyword">type</span> [<span class="keywordsign">'</span>a] event =<br> <span class="keyword">object</span><br> <span class="keyword">method</span> _type : <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">method</span> currentTarget : <span class="keywordsign">'</span>a <span class="constructor">Js</span>.t <span class="constructor">Js</span>.optdef <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">method</span> srcElement : <span class="keywordsign">'</span>a <span class="constructor">Js</span>.t <span class="constructor">Js</span>.optdef <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">method</span> target : <span class="keywordsign">'</span>a <span class="constructor">Js</span>.t <span class="constructor">Js</span>.optdef <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">end</span><br> <span class="keyword">val</span> no_handler : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Dom</span>.event_listener<br> <span class="keyword">val</span> handler :<br> ((<span class="keywordsign">'</span>e <span class="keywordsign">#</span><span class="constructor">Dom</span>.event <span class="keyword">as</span> <span class="keywordsign">'</span>b) <span class="constructor">Js</span>.t <span class="keywordsign">-></span> bool <span class="constructor">Js</span>.t) <span class="keywordsign">-></span><br> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b <span class="constructor">Js</span>.t) <span class="constructor">Dom</span>.event_listener<br> <span class="keyword">val</span> full_handler :<br> (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> (<span class="keywordsign">'</span>e <span class="keywordsign">#</span><span class="constructor">Dom</span>.event <span class="keyword">as</span> <span class="keywordsign">'</span>b) <span class="constructor">Js</span>.t <span class="keywordsign">-></span> bool <span class="constructor">Js</span>.t) <span class="keywordsign">-></span><br> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b <span class="constructor">Js</span>.t) <span class="constructor">Dom</span>.event_listener<br> <span class="keyword">val</span> invoke_handler : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Dom</span>.event_listener <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> bool <span class="constructor">Js</span>.t<br> <span class="keyword">val</span> eventTarget : (< .. > <span class="keyword">as</span> <span class="keywordsign">'</span>a) <span class="keywordsign">#</span><span class="constructor">Dom</span>.event <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Js</span>.t<br> <span class="keyword">type</span> event_listener_id<br> <span class="keyword">module</span> <span class="constructor">Event</span> : <span class="keyword">sig</span> <span class="keyword">type</span> <span class="keywordsign">'</span>a typ <span class="keyword">val</span> make : string <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Dom</span>.<span class="constructor">Event</span>.typ <span class="keyword">end</span><br> <span class="keyword">val</span> addEventListener :<br> (< .. > <span class="keyword">as</span> <span class="keywordsign">'</span>a) <span class="constructor">Js</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>b <span class="constructor">Dom</span>.<span class="constructor">Event</span>.typ <span class="keywordsign">-></span><br> (<span class="keywordsign">'</span>a <span class="constructor">Js</span>.t, <span class="keywordsign">'</span>b) <span class="constructor">Dom</span>.event_listener <span class="keywordsign">-></span> bool <span class="constructor">Js</span>.t <span class="keywordsign">-></span> <span class="constructor">Dom</span>.event_listener_id<br> <span class="keyword">val</span> removeEventListener : <span class="constructor">Dom</span>.event_listener_id <span class="keywordsign">-></span> unit<br> <span class="keyword">class</span> <span class="keyword">type</span> stringList =<br> <span class="keyword">object</span><br> <span class="keyword">method</span> contains : <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="keywordsign">-></span> bool <span class="constructor">Js</span>.t <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> item : int <span class="keywordsign">-></span> <span class="constructor">Js</span>.js_string <span class="constructor">Js</span>.t <span class="constructor">Js</span>.opt <span class="constructor">Js</span>.meth<br> <span class="keyword">method</span> length : int <span class="constructor">Js</span>.readonly_prop<br> <span class="keyword">end</span><br> <span class="keyword">end</span></code></body></html>