code: function (elem) {
      var elems = [];
      // Array.prototype.slice.call doesn't work when given a NodeList in
      // IE8 ("JScript object expected").
      var nodeList = elem.getElementsByTagName('*');
      for (var i = 0; i < nodeList.length; i++) {
        elems.push(nodeList[i]);
      }
      elems.push(elem);
      $jq.cleanData(elems);
    }
docs: Recursively call all teardown hooks, in the backend and registered through DOMBackend.onElementTeardown.