私は複数の隠された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をクラス属性として持っていますか?