以下のコードがベース var interval = setInterval(function () { // 前提条件 if (!$('body').length) { return; } // 実行コード alert('ready!'); // 監視停止 clearInterval(interval); }, 100); このコードの問題点 「コード実行時に前提条件が満たされてても必ず100ms待ってしまう」 改善 var interval = setInterval((function () { // 前提条件 if (!$('body').length) { return arguments.callee; } // 実行コード alert('ready!'); // 監視停止 if (interval) { clearInterval(interval); } })(), 100)