1

これが私のリンクの例です:

<div class="aside-box">
<a href="#">test 1</a>
<a href="#login-box" class="login-window">test 2</a>
</div>

一部の IE ブラウザはハッシュを無視しています。したがって、表示する代わりに:

<a href="#login-box" class="login-window">

表示されるのは次のとおりです。

<a href="#" class="login-window">

このリンクの前に追加して、すでに削除されている場合にのみ無視されないようにするための jQuery はありますか?

私はこれを使おうとしていますが、今のところうまくいきません:

<script type="text/javascript">
$('#aside-box a:not([href*="#"])').live('click',function() 
$(this).attr('href', $(this).attr('href') + "#aside-box");        
});
</script>

上記のソリューションが(実際に)機能したため、これを編集しました。

jQuery(上記)はそれを修正しました。私はそれがうまくいかなかったという印象を受けましたが、影響を受けた人が私に返事をくれて、今はうまくいっていると言いました.

そこにあるすべてのブラウザで作業するのは困難です。

4

2 に答える 2

2

ここで何を意味するかを推測しますが、おそらく問題は#aside-box、HTML で id ではなくクラスとして定義されている場合にターゲットにしようとしていることです (現在、jQuery はそれを実行しています)。

また、一部の古いブラウザは、 のような name 属性で定義されたフラグメントのみに従います<a name='foo' id='foo'>

それ以外は、クリック<a href="#foo">bar</a>すると id の要素に移動しfooます。

于 2013-04-17T14:52:04.337 に答える
0

元の投稿に解決策があったことがわかりました。私は問題を再現できませんでしたが、jQuery を配置した後、実際に機能していたという確認を最終的に受け取りました。

于 2013-04-17T15:19:47.917 に答える