2

ブラウザのアクションポップアップでオプションを表示および非表示(おそらくトグル)にしようとしましたが、成功しませんでした。以下のコードは私のポップアップの本体です

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="popup.js"></script>
<div class="show">
    <a href="#" class="showcontent">Show</a>
    <a href="#" class="hidecontent">Hide</a>
    <div class="somecontent">
        <p>some content<br />
            <a href="#">Link</a><br />
        </p>
    </div>
</div>

popup.js ファイルには、特に以下が含まれます。

$(document).ready(function(){
    $(".somecontent").hide();
    $(".showcontent").click(function(){
        $(".somecontent").show();
    });

    $(".hidecontent").click(function(){
        $(".somecontent").hide();
    });
});

Chrome API の popup.js ファイルに問題があることが問題だと思います。本文はポップアップに表示されますが、表示と非表示のアクションが機能しません。これを機能させる方法と、そうでない場合は、同じ結果を得るための別の方法 (つまり、クリックで切り替える) のアイデアはありますか?

編集: javascript コンソールから、このエラーが発生しています:

キャッチされていない TypeError: null のメソッド 'ready' を呼び出せません

これは、ready 関数を使用して上記のコードの行を指します。

4

6 に答える 6

11

関数の使用に関して、jQuery がページ内の何かと競合している可能性もあり$()ます。(私は自分でこの問題に遭遇しました。)その場合は、$()呼び出しを変更するとjQuery()問題が解決するはずです。

于 2011-06-09T21:18:49.563 に答える
1

クリック ハンドラから false を返したり、 を呼び出したりしていないためpreventDefault()、クリックするとページがリロードされ、.somecontentが再び非表示になります。JS を次のように変更します。

$(document).ready(function(){
    $(".somecontent").hide();
    $(".showcontent").click(function(){
        $(".somecontent").show(); return false;
    });

    $(".hidecontent").click(function(){
        $(".somecontent").hide(); return false;
    });
});
于 2010-01-16T20:39:23.937 に答える
0

このエラーは、jQuery が正しく読み込まれていないことを意味します。jquery.js という名前で、ルート フォルダーに保存されていることを確認します。

于 2010-01-20T18:33:42.130 に答える
0

おそらくpopup.jsが解析/実行エラーを引き起こしていますか? クロムがエラーを出力できるかどうかを確認してください:

JavaScript コンソール: [ページ] メニュー アイコンをクリックし、[開発者 - JavaScript コンソール] を選択します。ここから、JavaScript 実行のエラーを表示し、実行する追加の JavaScript コマンドを入力できます。

JavaScript デバッガー: ページ メニュー アイコン 0 開発者 - JavaScript のデバッグとして使用できます。デバッガーは、ブレークポイント、バックトレースなどを設定できるコマンド プロンプトを提供します。開始するには、デバッガーのコマンド ラインで help と入力します。

ここから

jqueryがロードされていない場合、あなたが得たエラーが発生する可能性があります:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>

<script>alert($(document))</script>

オブジェクトをポップアップする必要があります...

于 2010-01-16T20:37:14.830 に答える
0

あなたのコードは私にとってはうまくいきました。他の人が言ったように、jquery.jsファイルが見つからない/ロードされていないように聞こえるエラーが発生します。これはロング ショットですが、Windows を使用している場合は、jquery.js ファイルのプロパティを確認し、最初のタブに [ブロック解除] ボタンがあるかどうかを確認してください。クリックして。

于 2010-06-25T13:44:36.053 に答える
0

この古い質問はまだ答えられていないようなので、運を試してみようと思いました。

jquery.js を再度ダウンロードしてみましたか (ファイルが破損している可能性があります)。また、まだ解決に興味がある場合は、src をどこかに投稿して、私たちが読めるようにしてもらえますか ( http://jsfiddle.net/など) 。

于 2011-03-24T16:47:40.510 に答える