/ iFrameによるdivの表示/非表示:構文エラー、認識されない式# - jquery、インターネットエクスプローラ、構文、構文エラー、表示 - 非表示

iFrameによるdivの表示/非表示:構文エラー、認識されない式# - jquery、インターネットエクスプローラ、構文、構文エラー、表示 - 非表示

私は複数の隠されたdivを含むページを持っています。 対応するリンクをクリックすると、divの内容から自分自身が明らかになり、開かれている可能性のある他のdivが非表示になります。この機能はエラーなく正常に動作しています。 ここに。これは単純な表示/非表示です。

今、私は新しいページを作っています。1つのdivがiFrameを持っていて、それに新しいバージョンのjQueryが載っているページを引き込んでいることを除けば、まったく同じです(問題のサイトは1.3.2を実行しています。残念ながらアップグレードできません)。

クリックしてこの新しいページを離れようとしたときサイト内の別のリンクは、私は "構文エラー、認識されない式:#" Firefoxで、そしてIE8では、それは行が言う:19 エラー:例外がスローされてキャッチされず、デバッグのために[はい]をクリックしたときに「構文エラー、認識できない式:ad +」が表示されます。それから私は、この行の "オブジェクトはプロパティやメソッドをサポートしていません"という別のエラーを受け取ります。

            $("#" + $(this).attr("class")).show().siblings("div").hide();

これは、iFrameのページで使用されている2番目のjQueryライブラリが原因で起こっていますか?それが私が考えることができる唯一のことはなぜそれが1つのページではなく他のページではたらきます。

ここはフィドルです コード付き - ページ上部のHomeリンクをクリックすると、コンソールに構文エラーが表示されます。

これがscriptタグの完全な内容ですページ上。これを削除してもエラーは発生しませんので、ここで何かを確認してください。一重引用符と二重引用符が混在していることに気付きましたが、一方に変更しようとするとエラーが発生します。

        $(document).ready(function() {
// Optional code to hide all divs
$("div" + ".menu").hide();
// Show chosen div, and hide all others
$("a").click(function ()
{
$("#" + $(this).attr("class")).show().siblings("div").hide();
});
});

回答:

回答№1は0

コードの行を投げるあなたのエラーは間違ったセレクタを作りました: $( "。" + $(this).attr( "class"))。show()。兄弟( "div")。hide();

あなたのステートメントは空の配列を選択し、これには "show()"という名前のメソッドがあります。

それともあなたは本当にあなたのIDをクラス属性として持っていますか?