title: Why does my clientWidth change when printed?
body: <p>I am trying to get the clientWidth of a 'th' element in angularJs with the following code:</p>
  
  <pre><code>var cols = this._element.find("th");
  
  angular.forEach(cols, function(col) {
      var th = angular.element(col);
      console.log(th);
      console.log(th[0].clientWidth);
      th.css('width', th[0].clientWidth + "px");
  });
  </code></pre>
  
  <p>When I print the element (first print) I get the following:</p>
  
  <pre><code>[th]
    0: th.ng-hide
      abbr: ""
      ...
      clientWidth: 0
  </code></pre>
  
  <p>Which is exactly the value that I would expect it to be (as it is a hidden element). However, when I try and access the clientWidth using:</p>
  
  <pre><code>th[0].clientWidth
  </code></pre>
  
  <p>I get a value of 12...</p>
  
  <p>I have tried this with a number of elements (the full table and all of the th's, hidden and non-hidden) and all of them seem to have the appropriate values on the element, but give me incorrect values when I try and access them.</p>
  
  <p>clientWidth and innerWidth are also consistently the same. Neither seem to reflect what I view on the element.</p>
  
  <p>Any ideas as to why this may be?</p>