我想用jQuery更改页面标题,但它在IE中不起作用,为什么?
这样的代码:
alert( $('title').text() ); // empty in IE
$('title').text('Some Text!'); // Don't work in IE
是的,我们可以使用document.title = 'xxxx';
来更改标题内容。
答案 0 :(得分:1)
$(document).prop('title', 'Some Text!');
这是answer您原来的问题。这是一个众所周知的错误。
答案 1 :(得分:1)
title.innerHTML
在IE中是只读的。看起来innerText
也有一些限制。
答案 2 :(得分:1)
alert($('title').text()); // empty in IE <= 8
之所以发生这种情况,是因为在Internet Explorer中页面标题有点特殊&lt; = 8;有多特别?
document.getElementsByTagName('title')[0].firstChild; // null
当你使用jQuery.text()
时,它会遍历元素的所有子节点并连接它们的文本表示以形成最终结果;因为firstChild
属性为null
,这显然不起作用。
页面标题可用作innerText
和innerHTML
属性,但尝试编写这些属性将导致“未知”运行时错误。
答案 3 :(得分:0)
如果你想尽可能多地使用jQuery,
$("title").innerHTML = $("title").attr("text", "New title");
适用于IE8。
使用
document.title
属性是设置或检索文档标题的简单跨浏览器方式。 IE只是不想正确播放
答案 4 :(得分:-1)
试试这个
document.title = "This is new title.";