2015-09-21 48 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