### Navigation

- index
- next |
- previous |
- MathJax v2.0 documentation »
- The MathJax API »

# 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",
        {id: "MathDiv", style:{border:"1px solid", padding:"5px"}},
        ["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
  Returns : | 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
  Returns : | 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
  Returns : | 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
  Returns : | 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
  Returns : | `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
  Returns : | 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
  Returns : | `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"};
      MathJax.HTML.Cookie.Get("test",data);

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

### Navigation

- index
- next |
- previous |
- MathJax v2.0 documentation »
- The MathJax API »