# The MathJax.HTML Object¶

The MathJax.HTML object provides routines for creating HTML elements and adding them to the page, and in particular, it contains the code that processes MathJax’s HTML snippets and turns them into actual DOM objects. It also implements the methods used to manage the cookies used by MathJax.

## Properties¶

Cookie.prefix: "mjx"

The prefix used for names of cookies stored by MathJax.

Cookie.expires: 365

The expiration time (in days) for cookies created by MathJax.

## Methods¶

Element(type[, attributes[, contents]])

Creates a DOM element of the given type. If attributes is non-null, it is an object that contains key:value pairs of attributes to set for the newly created element. If contents is non-null, it is an HTML snippet that describes the contents to create for the element. For example

var div = MathJax.HTML.Element(
"div",
["Here is math: \$$x+1\$$",["br"],"and a display $$x+1\\over x-1$$"]
);

Parameters: type — node type to be created attributes — object specifying attributes to set contents — HTML snippet representing contents of node the DOM element created
addElement(parent, type[, attributes[, content]])

Creates a DOM element and appends it to the parent node provided. It is equivalent to

parent.appendChild(MathJax.HTML.Element(type,attributes,content))

Parameters: parent — the node where the element will be added attributes — object specifying attributes to set contents — HTML snippet representing contents of node the DOM element created
TextNode(text)

Creates a DOM text node with the given text as its content.

Parameters: text — the text for the node the new text node
addText(parent, text)

Creates a DOM text node with the given text and appends it to the parent node.

Parameters: parent — the node where the text will be added text — the text for the new node the new text node
setScript(script, text)

Sets the contents of the script element to be the given text, properly taking into account the browser limitations and bugs.

Parameters: script — the script whose content is to be set text — the text that is to be the script’s new content null
getScript(script)

Gets the contents of the script element, properly taking into account the browser limitations and bugs.

Parameters: script — the script whose content is to be retrieved the text of the script
Cookie.Set(name,data)

Creates a MathJax cookie using the MathJax.HTML.Cookie.prefix and the name as the cookie name, and the key:value pairs in the data object as the data for the cookie. For example,

MathJax.HTML.Cookie.Set("test",{x:42, y:"It Works!"});


will create a cookie named “mjx.test” that stores the values of x and y provided in the data object. This data can be retrieved using the MathJax.HTML.Cookie.Get() method discussed below.

Parameters: name — the name that identifies the cookie data — object containing the data to store in the cookie null
Cookie.Get(name[,obj])

Looks up the data for the cookie named name and merges the data into the given obj object, or returns a new object containing the data. For instance, given the cookie stored by the example above,

var data = MathJax.HTML.Cookie.Get("test");


would set data to {x:42, y:"It Works!"}, while

var data = {x:10, z:"Safe"};

would leave data as {x:42, y:"It Works!", z:"Safe"}.