2017-01-20 7 views
2

別のページからハイパーリンクした後、要素にクラスを追加しようとしています。私のJSが私のURLハッシュを取得するのを止めているのは何ですか?

<a href="https://jsfiddle.net/mv7nneu4/2#redbox">go to redbox</a>

page2に、私はこの関数を実行しています:

$(function() { 
    var id = window.location.hash; 
    $(id).addClass('expanded'); 
}); 

これは、それが影響を与えるべきであるdiv要素です:

<div id="redbox" class="red"> 
    hajkldjfs 
</div> 
を私はこのような設定 page1に私のリンクを持っています

ハッシュをつかんで、その要素にクラスexpandedを追加する必要があります。しかし、クラスは追加されず、コンソールにエラーはありません。ここで

は、私はこれをシミュレートするために作成した2つのJSのフィドルのリンクです:

page1

page2

が助けに感謝します!

+0

私のために働くようです。どのブラウザを使用していますか? –

+1

jsFiddleは結果をiframeに入れます。 –

+1

@AdrianWragg私はchrome46にいますが、違いがある場合は新しいタブでリンクを開きます –

答えて

0

セレクタが間違っています。

に変更
$('#' + id).addClass('expanded'); 
+1

特定の問題は、 'window.location.hash'には'# 'が含まれていないので、' url#redbox'は 'redbox'ではなく' redbox'です。 –

+0

正しい、私は精巧にすべきだった – bryan60

関連する問題