2

プラグインファイルを組み合わせて、HTTPリクエストの数を減らしています。デバッグ用の最小化を削除しました。

結合されたスクリプトファイルは次のとおりです。

test.js:

(function($){
    $.fn.extend({
    GetNewDiv: function(){
        return $('<div>Testing new div</div');
    }
    });
})(jQuery)

// ;jQuery.noConflict(); 
(function($){
    $.fn.extend({
    GetNewSpan: function(){
        return $('<span class="test">Testing new div</span>');
    }
    });
})(jQuery)

このファイルを使用するHTML

<html>
<head>
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script src="test.js" type="text/javascript"></script>

<script type="text/javascript">

$(document).ready(function(){
    alert('document ready');
});
</script>
</head>
<body>
test message
</body>

Firefoxでファイルを開くと、Firebugでこのエラーが表示されます

function ($) {$.fn.extend({GetNewDiv: function () {return $("<div>Testing new div</div");}});}(jQuery) is not a function
file:///C://js/test.js
Line 10

2つのプラグインの間に「jQuery.noConflict();」を追加すると役立ちますが、エラーが$に変わるのは関数ではありません

何が悪いのか考えてみませんか?複数の.jsファイルを1つのファイルに結合する正しい方法は何ですか?

ありがとうAbhi

4

1 に答える 1

11

ファイル間にセミコロンが必要です。それらのそれぞれ...ものはJavaScript式のフラグメントです。セミコロンがないと、パーサーは式が続くと考えます。

JavaScriptではセミコロンがオプションである場合がありますが、そうでない場合はそうではありません。

于 2011-01-31T14:02:12.800 に答える