2016-07-28 24 views
0

我有一個帶有引導標籤的頁面,我想從外部頁面鏈接。所以我可以立即訪問我感興趣的內容。Jquery .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和您的地址欄與#general-informations那麼你的CSS選擇器,a[href='+hash+'],將試圖做一個直接的比賽結束了。不幸的是字符串http://localhost/somehwhere/#general-informations不等於字符串#general-informations

你想要什麼是CSS與選擇結束:$=,使用此:

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

這將選擇具有與hash變量的值結尾的href屬性的所有錨標籤。

+0

非常有幫助吉姆,謝謝! – XiLab

+1

很高興我能幫到你 – Jim