ID とクラス名の使用に関しては、かなり良い経験則があります。テンプレートで複数回使用する場合は、クラスにします。メイン、ログイン、ヘッダー、またはフッターの場合、ID は正常に機能しますが、ここではクラスを使用します。
それがあなたの問題の原因ではありませんが、私はそれを指摘したいと思いました。あなたの問題はおそらく、セレクターがまだ存在しないものを見つけようとしているためです。2つの選択肢があります
1.) スクリプトをページの一番下に移動します
。
ここに私の提案を含む更新されたコード例があります
<!DOCTYPE HTML>
<html>
<head>
<title>Click Handler</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$('.close').click(function(){
$('#main').show();
$('#login').hide();
});
})
</script>
</head>
<body>
<div style="float:right;"><a href="#" class="close">Close <img src="assets/close.png" class="close"></a></div>
<div id="main" style="display:none;">Main</div>
<div id="login">Login</div>
</body>
</html>