你不需要這個jQuery。它應該在IE瀏覽器(以及所有其他瀏覽器)中使用vanilla JavaScript工作。
document.title = 'new title';
由於how IE handles the <title>
element,你需要給它一點額外的幫助,以獲得第二個值。
var titleName;
// find all title elements using plain ol' javascript
var titles = document.getElementsByTagName('title');
// iterate over array of titles
$.each(titles, function(i, title) {
// if there are childNodes, then we know we're not in IE
if (!!title.childNodes.length) {
titleName = title.firstChild.data;
}
// in IE, we can read the title elements innerHTML, but we can't set it
else if (title.innterHTML) {
titleName = title.innerHTML;
}
});
// finally, set the document title
document.title = titleName;
這裏的主要問題是IE中的title元素沒有任何子節點,所以$(this).text()將不起作用。
讓我知道上面的代碼是否適合你。
但是,如何閱讀第二個標題標籤的值? $(document).find('title')在IE中不工作.. – jgg 2011-02-23 19:04:30
它正在工作,但'$(this).text()'不是。有關更多信息,請參閱我的修訂答案 – Intelekshual 2011-02-23 19:58:10