2

私はこのように定義されたhtmlを持っています:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
...
</head>    
<body>
<div id="nav">
    <a href="/">home</a> |
    {% if user.is_authenticated %}      
        <a href="/save/">submit</a> | <a href="/user/{{ user.username}}/"{{ user.username }}</a> | <a href="/logout/">logout</a>
    {% else %}
          <a href="/login">login</a> | <a href="/register/">register</a>    
    {% endif %}
</div>
</body>
</html>

Firebug Consoleで、navクラスを非表示にするには、次のように入力します。

$("#nav").hide()

しかし、実行すると、次のエラーメッセージが表示されます。

TypeError: $("#nav") is null

$("#nav").hide()     with(_...e() }; (line 2)

navは明らかにそこにあり、FirebugのHTMLタブでも見ることができますが、何が欠けていますか?

ありがとう

4

2 に答える 2

4

jQueryがありません

追加

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

<head></head>タグの間。

于 2012-05-23T20:59:28.283 に答える
1

jQueryなどのライブラリをロードしておらず$、のショートカットとして定義されているFirefoxバージョンを使用しているようです。document.getElementById

IDからを削除する#と、期待どおりにDOMノードが提供されます。または、ライブラリをjQueryとしてロードします:)

于 2012-05-23T21:05:42.313 に答える