html文档中的title元素,在w3c文档中,有这样的定义:
interface HTMLTitleElement : HTMLElement { attribute DOMString text; };
可以看到title元素继承了HTMLElement,并拥有一个text属性,该属性可读写title.text( = value);
那么,如果我们要获得title元素之间的文本,我们可以有多种方法,
1、document.title;
2、title.text;(var title = document.getElementsByTagName('title'));
3、title.innerHTML;
第三种方法不靠谱,会返回title之间的所有东西,包括elements、注释节点;
而第一、第二种方法则是标准的获取title内容的方法,它们会忽略elements、注释等节点,返回所有text node节点字符串;
测试用例如下:
<!DOCTYPE html> <html lang="cn"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Html5-title标签<!--注释节点--></title> </head> <body> <script type="text/javascript"> (function () { var title = document.getElementsByTagName('title')[0]; document.write([document.title, title.text, title.innerHTML]); })(); </script> </body> </html>
以上用例在IE6+、firefox3.6+测试通过!
欢迎大家拍砖!!!