title
在html
中属于特殊的节点元素.因为它可以使用document.getElementsByTagName("title")[0]
来获取网页的title
标签,但却无法用document.getElementsByTagName("title")[0].innerHtml
用更改它的值。经测试原生js有两种方式可以修改,jQuery中也能简单设置。不清楚的小伙伴们可以了解一下。
innerText 方式
通过console.log(document.getElementsByTagName("title")[0])
,发现能打印出<title>
标签,标签里面只有文字节点,故猜测只能识别TextNode
,所以用innerText
方式设置title的值,果然成功了。
document.getElementsByTagName("title")[0].innerText = '需要设置的值';
document.title方式
经过测试,还可通过document.title
设置title的值。
console.log(document.title); # 可以获取title的值。
document.title = '需要设置的值'; # 设置title的值。
举个栗子:
window.onfocus = function () {
document.title = '恢复正常了...';
};
window.onblur = function () {
document.title = '快回来~页面崩溃了';
};
我们在浏览器取得了焦点和失去焦点的时候改变title的值,可以发现切换浏览器选项卡的时候,title
发生了改变。
jQuery方式
当然如果你的项目里面依赖jQuery,可以使用jq的方法设置
$('title').html('')
$('title').text('')
jq中两种方式都可以实现
总结
原生js中我们可以通过
innerText
,document.title
两种方式动态修改网页的title
.
jq中我们可以通过$('title').html('')
或者$('title').text('')
进行修改。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。