1

私のページには次のコードがあります。jQuery が正常に読み込まれることもありますが、エラーが発生することもあります。jQuery is undefined

<script src="/javascripts/jquery-1.3.2.min.js" type="text/javascript"></script>
<script src="/javascripts/jquery-ui-1.7.1.custom.min.js"    
type="text/javascript"></script>

<script type="text/javascript">
alert('test')
var $j = jQuery.noConflict();
alert('test1')
//start when document is ready
$j(document).ready(function(){
alert('test2')

jQuery がロードされない場合alert、ページの最初にしか表示されません。だから私はjQueryが読み込まれないと思っています。また、エラーが発生する前に noConflict を使用しています$ is undefined。プロトタイプなどの他の js ライブラリは使用していません。したがって、実際に使用する必要はありませんjQuery noConflict()

jQuery と IE 7 でこのような問題に遭遇した人はいますか? このエラーは Firefox では発生していません。

これを修正するために何かできることはありますか?

更新 Google でホストされている jQuery + jQuery UI を利用することにしました。それは私のために働いた。

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js" type="text/javascript"></script>
4

2 に答える 2

1

他に競合するライブラリがない場合は$ is undefined、jqueryのスクリプトライブラリパスが正しくないか、jQueryの準備がまだ整っていないことを意味します。この場合、競合のない機能を使用する理由はありません。

これを試して:

<script src="/path to your/jquery-1.3.2.min.js" type="text/javascript"></script>

<script type="text/javascript">
    $(document).ready(function() {

        alert("jquery is ready.");

    });
</script>

アラートが発生した場合は、jQueryが適切に参照および初期化されていることがわかります。

そうでない場合は、次のオプションを試してください。

  • FirefoxとFirebugを使用して、スクリプトパスが正しいことを確認してください(Firebugペインにスクリプトファイルを実際にロードできるようになります)
  • 縮小されていないバージョンのjQueryを開発で使用して、問題がないことを確認します
于 2010-02-17T20:36:11.773 に答える
0

これが他のブラウザでも発生する場合、私の最初の賭けは、JqueryライブラリへのURLパスが正しくないことです。(javascriptsまたはjavascript)。ライブラリへの完全なURLを入力して、何が起こるかを確認してください。

noConflict宣言は正しいですか?私はそれがすべきだと思います

var j = jQuery.noConflict();
....
j(document).ready(function(){....}
于 2010-02-17T20:16:10.773 に答える