2016-07-28 4 views
0

外部ページからリンクしたいブートストラップタブのあるページがあります。だから私はすぐに私の興味の内容にアクセスすることができます。Jscery .hashがブートストラップタブで動作しない

問題で多くの質問を読んでも、私は本当に目標に到達できません。私は私のために働いていない、このコードは書いている:

var hash = document.location.hash; 
if (hash) { 
    $('.nav-tabs a[href='+hash+']').tab('show'); 
} 
// Change hash for page-reload 
$('.nav-tabs a').on('shown.bs.tab', function (e) { 
    window.location.hash = e.target.hash; 
}); 

をそして、私のHTMLは次

<ul id="profile-tabs" class="nav-tabs"> 
    <li class="active"><a href="<?php echo get_permalink(); ?>#general-informations" data-toggle="tab"><?php _e("General Info",'Mytheme');?></a></li> 
    <li class=""><a href="<?php echo get_permalink(); ?>#other" data-toggle="tab"><?php _e("Other",'Mytheme');?></a></li> 
</ul> 

私は多分私は間違った方法で.hash使用していることを考えています。私を助けたり、似たような答えを提案できますか?私は成功していないものをほとんどすべて読んだことになります。おかげさまで

答えて

1

CSSセレクタが正しくありません。あなたはリンゴとオレンジを一致させようとしています。

あなたの最初のアンカータグのhref属性がhttp://localhost/somehwhere/#general-informationsに設定し、あなたのURLバーには、あなたのCSSセレクタ、a[href='+hash+']は、直接試合を行うことを試みることになる#general-informationsで終わった場合。残念ながら、文字列http://localhost/somehwhere/#general-informationsは文字列#general-informationsと等しくありません。何がしたいことはCSSで

は、セレクタで終わる:$=、これを使用する:

$('.nav-tabs a[href$="'+hash+'"]').tab('show'); 

これはhash変数の値で終わるhref属性を持つすべてのアンカータグを選択します。

+0

Jim、ありがとう! – XiLab

+1

うれしい – Jim

関連する問題