0

次のように、jQuery がファイルに含まれています。

wp_enqueue_script("jquery");

そして、次のようなjQueryファイルがあります。

$(function() {
alert("j");

$('.event-wrapper a').click(function(){
    event.preventDefault();
    if($(this).next().is(':visible')) {
        $(this).next().hide();
    } else {
        $('.event-info').hide();
        $(this).next().show();
    }
});

$('.event-info').click(function() {
    $(this).hide();
});

});

これは機能していません。alert("j"); だけを入れてみました。ファイルに含まれており、ファイルが正しく含まれるように機能します。どうすればこれを修正できますか?

4

4 に答える 4

4

Wordpress は jQuery.noConflict を使用して jQuery を自動的に呼び出します。これは、名前空間の衝突を避けるために $ が削除されることを意味します。WordPress で jQuery を使用する場合は、常に $ の代わりに jQuery を使用する必要があります。

例えば:

jQuery(document).ready(function() {

});

$ を取り戻すには、ここ (および他の回答) で説明されているショートカットを使用できます: http://docs.jquery.com/Using_jQuery_with_Other_Libraries

于 2012-10-19T10:25:37.107 に答える
0
jQuery(document).ready(function($) {
    // Here you can use $ as normal
});
于 2012-10-19T11:01:28.430 に答える
0

何をしようとしているのか正確にはわかりませんが、jQuery のメイン関数は次のように開始する必要があります。

        $(document).ready(function () {
            //your jquery code should go here
        });

html 要素で呼び出すことができる jquery 関数を作成しようとしている場合は、次のように宣言する必要があります。

        (function ($) {
            $.fn.myFunc = function (options) {

             //Your code goes here
            }
        })(jQuery);

また、JavaScript でオブジェクトから直接呼び出されます。

        $('#SomeHtmlElementID').myFunc(myArgs);

また、アラートは jQuery を使用するかどうかに関係なく機能します。これは、jQuery 専用の関数ではなく、javascript 関数であるためです。

于 2012-10-19T10:13:29.100 に答える
0

@Calle で指定された理由により、これはうまくいくはずです。そのため、jQuery は as として渡され$、次の使用は通常どおりに機能するはずです。

(function($){ $(function(){
   // Your code here...
}) })(jQuery);
于 2012-10-19T10:31:43.517 に答える