2016-05-20 16 views
0

私の間違いは何ですか?Js構文(?)エラー

$(document).ready(function(){ 
    $('a').on('click', function(){ 
     var GetaName = $(this).attr('href').split('#'); 
     $('html,body').animate({scrollTop : $('a[name ='+GetaName[1]+']').offset().top},1000); 
    }); 
}); 

エラー:

enter image description here

+0

を持つ要素が含まれている場合に有効である '$は( '[名=' + GetaName [1] + ']')'何も返さい? – Pete

+0

$( 'a [name =' + GetaName [1] + ']')を認識できません –

+0

違いがありますが、 '='の前に空白を削除してみるかどうか分からない場合は、あなたのクリックイベントに 'e.preventDefault()'を追加します。そうしないと、あなたのページはそのidを持つものにジャンプします – Pete

答えて

0

あなたが構築され、間違った選択を持っている、要素nameの値は、二重引用符で囲む必要があります。だから、右のコードは、上記のすべての

$(document).ready(function(){ 
    $('a').on('click', function(){ 
     var GetaName = $(this).attr('href').split('#'); 
     $('html,body').animate({scrollTop : $('a[name="'+GetaName[1]+'"]').offset().top},1000); 
    }); 
}); 

あるページは、セレクタ'a[name="'+GetaName[1]+'"]'

+0

申し訳ありませんが、動作しません..このリンクを見てくださいhttp://www.backlabel.com/48-夢中になり、製品に入力しようとすると(FIREFOXで)まだ表示されているエラーが表示されます。 –

+0

リンクにはHFSのハッシュ属性がないので、GettaName [1] 'は空の文字列です。もちろんjQueryはそれを見つけることができません – MysterX

+0

私は何をする必要がありますか? –

関連する問題