jQuery 'if' not working if using $(this) but works with ids
<p>I've got a form with a load of checkboxes and textareas. When a checkbox is checked, the associated textarea appears. This is working fine.</p>

<p>However, I have a call to a database which gets information to populate the textareas with data if a certain query is made. An example of the HTML is as follows:</p>

<pre><code>&lt;li&gt;
  &lt;input type="checkbox" id="changes-trigger" /&gt;
  &lt;label for="changes-trigger"&gt;Changes&lt;/label&gt;
  &lt;textarea id="changes" name="changes" rows="6" cols="40"&gt;&lt;?php echo $report['changes']; ?&gt;&lt;/textarea&gt;
&lt;/li&gt;
</code></pre>

<p>If data is loaded into the textarea, I want the checkbox to be checked and for the textarea to be shown. If I target the textarea specifically using the <code>id</code>, I can do as I wish on page load:</p>

<pre><code>if($('#changes').val()) {
  $('#changes-trigger').prop('checked','true');
  $('#changes').show();
}
</code></pre>

<p>However, as I said, I have a load of these and do not want to code for each individual one. 
Not only doesn't this do as I wish, it breaks the rest of my external .js file. Can anyone advise why the following doesn't work?</p>

<pre><code>if($('textarea').val()) {
  $(this).siblings('input').prop('checked','true');
  $(this).show();
}
</code></pre>
