dist/jml-polyglot.js
function _appendNode(parent, child) {
  var parentName = _getHTMLNodeName(parent);

  var childName = _getHTMLNodeName(child);

  if (doc.createStyleSheet) {
    if (parentName === 'script') {
      parent.text = child.nodeValue;
      return;
    }

    if (parentName === 'style') {
      parent.cssText = child.nodeValue; // This will not apply it--just make it available within the DOM cotents

      return;
    }
  }

  if (parentName === 'template') {
    parent.content.appendChild(child);
    return;
  }

  try {
    parent.appendChild(child); // IE9 is now ok with this
  } catch (e) {
    if (parentName === 'select' && childName === 'option') {
      try {
        // Since this is now DOM Level 4 standard behavior (and what IE7+ can handle), we try it first
        parent.add(child);
      } catch (err) {
        // DOM Level 2 did require a second argument, so we try it too just in case the user is using an older version of Firefox, etc.
        parent.add(child, null); // IE7 has a problem with this, but IE8+ is ok
      }

      return;
    }

    throw e;
  }
}
function _appendNode(parent, child) {
  var parentName = _getHTMLNodeName(parent);

  var childName = _getHTMLNodeName(child);

  if (doc.createStyleSheet) {
    if (parentName === 'script') {
      parent.text = child.nodeValue;
      return;
    }

    if (parentName === 'style') {
      parent.cssText = child.nodeValue; // This will not apply it--just make it available within the DOM cotents

      return;
    }
  }

  if (parentName === 'template') {
    parent.content.appendChild(child);
    return;
  }

  try {
    parent.appendChild(child); // IE9 is now ok with this
  } catch (e) {
    if (parentName === 'select' && childName === 'option') {
      try {
        // Since this is now DOM Level 4 standard behavior (and what IE7+ can handle), we try it first
        parent.add(child);
      } catch (err) {
        // DOM Level 2 did require a second argument, so we try it too just in case the user is using an older version of Firefox, etc.
        parent.add(child, null); // IE7 has a problem with this, but IE8+ is ok
      }

      return;
    }

    throw e;
  }
}
function _appendNode ( parent , child ) { var parentName = _getHTMLNodeName ( parent ) ; var childName = _getHTMLNodeName ( child ) ; if ( doc . createStyleSheet ) { if ( parentName === 'script' ) { parent . text = child . nodeValue ; return ; } if ( parentName === 'style' ) { parent . cssText = child . nodeValue ; // This will not apply it--just make it available within the DOM cotents return ; } } if ( parentName === 'template' ) { parent . content . appendChild ( child ) ; return ; } try { parent . appendChild ( child ) ; // IE9 is now ok with this } catch ( e ) { if ( parentName === 'select' && childName === 'option' ) { try { // Since this is now DOM Level 4 standard behavior (and what IE7+ can handle), we try it first parent . add ( child ) ; } catch ( err ) { // DOM Level 2 did require a second argument, so we try it too just in case the user is using an older version of Firefox, etc. parent . add ( child , null ) ; // IE7 has a problem with this, but IE8+ is ok } return ; } throw e ; } }
Need this function for IE since options weren't otherwise getting added
@private
@static
@param {DOMElement} parent The parent to which to append the element
@param {DOMNode} child The element or other node to append to the parent
Need this function for IE since options weren t otherwise getting added