0

Webサイトにコードをデプロイしていますが、JavaScriptが実行されません。エラーが発生します:

SCRIPT5007:プロパティ'$'の値がnullまたは未定義であり、Functionオブジェクトではありません。

使用しているコードは

@model MVCMasterDetail.DataAccess.cwwoLoadCurrentWorkOrderActualsResult[]

<script type="text/javascript">
  $(document).ready(function () {
    $(".grid-toggle").click(function () {
        $(this).closest("table").find("tbody").show();
    });
    $(".hide-rows").click(function () {
        $(this).closest("table").find("tbody").hide();
    });
});
</script>

@Html.Partial("MasterDetailMasterPartial")

そして、それを使用する呼び出しは次のとおりです。

<td colspan="4"> Details<br/><a href="javascript: void(0)" class="grid-toggle">Show-     </a><a href="javascript: void(0)" class="hide-rows">Hide</a></td>

どんな助けでも大歓迎です。

4

3 に答える 3

2

Ashley Rossの回答のコメントに基づくと、相対パスを使用してjQueryを追加しようとしているようです。また、MVCを使用しているように見えます。MVCでは、htmlでファイルを参照する方法は次のとおりです。

<script src="@Url.Content("~/Scripts/jquery-1.7.1.js")"></script>

また、スクリプトタグがheadタグに含まれるかどうかは関係ありません。唯一の違いは読み込みです。これをheadタグに入れることで、本文の読み込みを開始する前にjsファイルをダウンロードするようにブラウザに指示します。これは便利ですが、ページの読み込み時間が長くなる可能性もあります。ページのダウンロードを高速化するには、実際にはスクリプトタグをbodyタグの下部に配置します。これにより、ページの残りの部分が読み込まれるまでjsファイルのダウンロードが延期されます。これにより、ページの読み込み時間が短縮されますが、予期しない場合は、ファンキーな動作が発生する可能性があります。

于 2013-01-02T17:03:52.137 に答える
1

他のスクリプトの前にjQueryを含める必要があります。あなたは次のようなものを持っているようですね

<script type="text/javascript" src="customScriptThatUsesjQuery.js"></script>
<script type="text/javascript" src="jquery-x.y.z.min.js"></script>

それ以外の

<script type="text/javascript" src="jquery-x.y.z.min.js"></script>
<script type="text/javascript" src="customScriptThatUsesjQuery.js"></script>

それを使用する他のスクリプトの前に、HTMLソースに表示されることを確認してください。

于 2013-01-02T16:48:01.483 に答える
0

jquerylibへの参照を追加する必要があります<head>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js" type="text/javascript"></script>
于 2013-01-02T16:47:31.780 に答える