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

时间:2008-10-07 19:55:11

标签: javascript jquery ruby-on-rails

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

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

    // ???

});
</script>

8 个答案:

答案 0 :(得分:300)

以下应该可以,但它不会与SEO兼容。最好将标题放在标题标签中。

<script type="text/javascript">

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

</script>

答案 1 :(得分:47)

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

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

答案 2 :(得分:40)

这适用于所有浏览器...

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

也适用于IE

答案 3 :(得分:36)

像这样:

$(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 
});

答案 4 :(得分:16)

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

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

});
</script>

答案 5 :(得分:5)

  

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

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

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

答案 6 :(得分:5)

document.title不适合我。

这是使用JQuery

执行此操作的另一种方法
$('html head').find('title').text("My New Page Title");

答案 7 :(得分:-2)

如果你有一个与当前标题会话相呼应的服务器端脚本the_title.php,这在jQuery中工作正常:

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