2015-09-21 75 views
0

就像標題所說,當我通過AJAX加載不同的頁面時,標題沒有更新。下面列出了應該加載的標題...「主頁」,「關於」和「常見問題」。AJAX javascript更新頁面標題?

我試過這個,但只是把標題改爲「undefined」。我可以採取哪些步驟從上述代碼中獲取標題名稱並實施它?

var pageTitle = jQuery("input.page-title").val(); 
document.title = pageTitle; 

HTML:

<li role="presentation" class="active"><a href="./">Home</a></li> 
<li role="presentation"><a href="./about">About</a></li> 
<li role="presentation"><a href="./contact">Contact</a></li> 
+0

'jQuery(「input.page-title」我沒有看到你的HTML中的任何內容,所以這可能是問題所在。 – GolezTrol

+1

加載的代碼在哪裏?顯然需要將標題更改與事件處理聯繫起來。還應該顯示所有不在其完整上下文中運行的代碼。我們不知道你在哪裏致電該代碼 – charlietfl

回答

0

從你的HTML貼,好像下面的代碼將做到這一點

var pageTitle = jQuery("li.active").children('a').html(); 
document.title = pageTitle; 

這抓起文本在哪裏父設置鏈接積極。

+0

這可行,但僅適用於主頁,可能是因爲它是開始的活動版本。當進入「關於」或「常見問題」頁面時,頁面標題仍然顯示爲「Home」 – Jefferson

+0

@Jefferson是的,代碼假定其他代碼設置了正確的項目以擁有.active類。如果你還沒有設置的東西,也許你可以從URL中獲取頁面名稱。像這樣:pageName = location.pathname.split('/')。pop()。split('。')[0] ||'index';那麼你可以設置正確的項目是積極的,以及設置pageTitle – AwokeKnowing

+0

啊我看到了,我不知道如何搶活動頁面...我現在怎麼用pageName變量?它進入jQuery功能嗎? – Jefferson

0
document.title = pageTitle; 

必須工作。所以你不同意有錯誤

jQuery("input.page-title").val(); 
+0

? – charlietfl