在. ready()期间如何更改文档的标题?

我在 Ruby on Rails 中使用了一些嵌套布局,在其中一个布局中,我需要从 div 中读入一个字符串,并将其设置为文档的标题。设置文档标题的正确方法(如果有的话)是什么?

<script type="text/javascript">
$(document).ready(function() {


// ???


});
</script>
283171 次浏览

像这样:

$(document).ready(function ()
{
document.title = "Hello World!";
});

如果你希望你的网站被搜索引擎正确地索引,一定要设置一个默认标题。

给你个小建议:

$(function ()
{
// this is a shorthand for the whole document-ready thing
// In my opinion, it's more readable
});
<script type="text/javascript">
$(document).ready(function() {


$(this).attr("title", "sometitle");


});
</script>

下面的内容应该可以,但是搜索引擎优化不兼容。最好把标题放在 title 标签中。

<script type="text/javascript">


$(document).ready(function() {
document.title = 'blah';
});


</script>

我在 Ruby on Rails 中使用了一些嵌套布局,在其中一个布局中,我需要从 div 中读入一个字符串,并将其设置为文档的标题。

正确的方法是在服务器端执行此操作。

在你的布局中,在某一点上会有一些 将文本放入 div 中的代码。使这个代码也设置一些实例变量,如 @page_title,然后在你的外部布局让它做 <%= @page_title || 'Default Title' %>

不要使用 $('title').text('hi'),因为 IE 不支持它。

最好使用 document.title = 'new title';

这在所有浏览器中都能正常工作。

$(document).attr("title", "New Title");

也可以在 IE 中工作

如果您有一个服务器端脚本 get _ title.php,它回应了当前的 title 会话,那么在 jQuery 中可以很好地工作:

$.get('get_title.php',function(*respons*){
title=*respons* + 'whatever you want'
$(document).attr('title',title)
})

文件,标题对我不起作用。

下面是另一种使用 JQuery 实现此目的的方法

$('html head').find('title').text("My New Page Title");