setTextContent = function (node, text) {
  if (text) {
    var firstChild = node.firstChild;

    if (firstChild && firstChild === node.lastChild && firstChild.nodeType === 3) {
      firstChild.nodeValue = text;
      return;
    }
  }
  node.textContent = text;
}
Most style properties can be unset by doing .style[prop] = '' but IE8
doesn't like doing that with shorthand properties so for the properties that
IE8 breaks on, which are listed here, we instead unset each of the
individual properties. See http://bugs.jquery.com/ticket/12385.
The 4-value 'clock' properties like margin, padding, border-width seem to
behave without any problems. Curiously, list-style works too without any
special prodding.