titleタグの文字列置き換え
今回は、「元の文字列」+「追加文字列」に置き換えたかったので、
とりあえず要素を取得してみようとすると...。
var elem = document.getElementsByTagName("title");
で、タグは拾える。
が、
alert(elem[0].firstChild);
とすると、IEではundefinedとなる。
IE8の開発者ツールで構造を見ると、
titleタグとタイトルの文字列は、
同じ要素として扱われているみたい。
(IE8の開発者ツールでは、HTMLのツリー構造の表示は、要素ノードとテキストノードが別になっているんだよなあ?)
どうしたものかと思って調べてみると、titleタグの文字列を拾う方法として、
document.title
というのがある。
ただし、ほかの要素にid="title"というのがあると、そちらが拾われるらしい。
(title要素の後に出てくるから?)
こちらを参照:
訂正にもあるように、タグは限定されるようですが。
で、
var title_org = document.title; var title_new = title_org + "(置き換える文字列)"; document.title = title_new;
でうまくいきました。