function isHeadingRow (tr) {
      var parentNode = tr.parentNode;
      return (
        parentNode.nodeName === 'THEAD' ||
        (
          parentNode.firstChild === tr &&
          (parentNode.nodeName === 'TABLE' || isFirstTbody(parentNode)) &&
          every.call(tr.childNodes, function (n) { return n.nodeName === 'TH' })
        )
      )
    }
// - and every cell is a TH
and every cell is a TH
and every cell is a TH
function isHeadingRow (tr) {
      var parentNode = tr.parentNode;
      return (
        parentNode.nodeName === 'THEAD' ||
        (
          parentNode.firstChild === tr &&
          (parentNode.nodeName === 'TABLE' || isFirstTbody(parentNode)) &&
          every.call(tr.childNodes, function (n) { return n.nodeName === 'TH' })
        )
      )
    }
function isHeadingRow ( tr ) { var parentNode = tr . parentNode ; return ( parentNode . nodeName === 'THEAD' || ( parentNode . firstChild === tr && ( parentNode . nodeName === 'TABLE' || isFirstTbody ( parentNode ) ) && every . call ( tr . childNodes , function ( n ) { return n . nodeName === 'TH' } ) ) ) }
and every cell is a TH
and every cell is a TH