Can someone explain this seeming inconsistency in jQuery/Javascript?? (trailing brackets inconsistency on reads)
<p>So, in my example below, "InputDate'" is an input type=text, "DateColumn" is a TD within a table with a class of "DateColumn".</p>

<p>Read the value of a discreet texbox:  </p>

<pre><code>var inputVal = $('#InputDate').val();
</code></pre>

<p>Read the value of a div within a table....  </p>

<p>This works:</p>

<pre><code>$('#theTable .DateColumn').each(function() {
  var rowDate = Date.parse($(this)[0].innerHTML);
});
</code></pre>

<p>This doesn't:</p>

<pre><code>$('#theTable .DateColumn').each(function() {
  var rowDate = Date.parse($(this)[0].innerHTML());
});
</code></pre>

<p>The difference is the "()" after innerHTML.  This behavior seems syntactically inconsistent between how you read a value from a textbox and how you read it from a div.  I'm ok with sometimes, depending on the type of control, having to read .val vs .innerHTML vs.whateverElseDependingOnTheTypeOfControl...but this example leads me to believe I now must also memorize whether I need trailing brackets or not on each property/method.</p>

<p>So for a person like me who is relatively new to jQuery/Javascript....I seem to have figured out this particular anomaly, in this instance, but is there a convention I am missing out on, or does a person have to literally have to memorize whether each method does or does not need brackets?</p>
