Stats of the Rivers

川の様子を見に行ってます。

はてなブログで JavaScript を書くことについて。

この記事は deprecated です。

はてなブログのフィードバックでこの旨を連絡したら直してくれました。
今は script タグ内では自動リンク化されないようです。
http://makimoto.hatenablog.com/entry/2011/11/09/235347

本文

はてなブログ、HTML モードで色々な JavaScript が通っちゃって楽しいんですが、生で JavaScript を書く上で多少注意するべき点があります。

例えば、お行儀の良い人でしたら jQuery を使う際以下のように $() を使わずに jQuery() と明示的に記述するはずです。

<script type="text/javascript">// <![CDATA[
  jQuery(function(){
      jQuery('.erase-all').click(function(){
          jQuery('body').fadeOut('slow');
      });
  });
// ]]></script>

しかし、その場合、以下のように jQuery の部分がキーワード化されてしまいます。(本当にこの仕様でいいの……)

<script type="text/javascript">// <![CDATA[
  <a class="keyword" href="http://d.hatena.ne.jp/keyword/jQuery">jQuery</a>(function(){
      <a class="keyword" href="http://d.hatena.ne.jp/keyword/jQuery">jQuery</a>('.erase-all').click(function(){
          <a class="keyword" href="http://d.hatena.ne.jp/keyword/jQuery">jQuery</a>('body').fadeOut('slow');
      });
  });
// ]]></script>

ということで、多少気持ち悪くても $() を使った方が無難です。

<script type="text/javascript">// <![CDATA[
  $(function(){
      $('.erase-all').click(function(){
          $('body').fadeOut('slow');
      });
  });
// ]]></script>

まあ、真にお行儀が良い人は view 内に JavaScript を書かず外に置きますね。これだと変なことが起きずに安全です。

<script type="text/javascript" src='http://example.com/erase-all.js'></script>