標準でクロスブラウジング無しなら、replace なんですが、< や > に変換されている場合は、 innerHTML で < と > に戻るので、他は < と > を保持するのに対して、replace のみ 取り去ってしまいます。 となると、jQuery にまかせたほうが良いという事になります。 こうして並べてみると、Google Chrome の text が特異に見えます。元々は、IE の innerText が特異ではあったと思うのですが、Google Chrome が innerText を実装している流れで、text を改行ありにしたんだろうとは思います。改行無しなら textContent でいいわけですし。
<script>
if ( !window.jQuery ) {
if ( typeof window[window.location.hostname+'.loadjQuery'] === 'undefined' ) {
if ( window.addEventListener ) {
window[window.location.hostname+'.loadjQuery'] = '//ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js';
}
else {
window[window.location.hostname+'.loadjQuery'] = '//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js';
}
}
document.write("<"+"script src=\"" + window[window.location.hostname+'.loadjQuery'] + "\"></"+"script>");
}
</script>
<a id="target" href="http://winofsql.jp"><b>あああ</b><br/><b>いいい</b><br/></a>
<script type="text/javascript">
var obj = document.getElementById("target");
if ( obj.textContent ) {
alert("textContent:" + obj.textContent );
}
if ( obj.innerText) {
alert("innerText:" + obj.innerText);
}
if ( obj.text ) {
alert("text:" + obj.text);
}
var htmlString = document.getElementById("target").innerHTML;
var htmlString = htmlString.replace(/<[^>]+>/g, "");
alert("replace:"+htmlString );
alert( "jQuery:" + $("#target").text());
</script>
| textContent | innerText | text | replace | jQuery | |
| Chrome | 改行なし | 改行あり | 改行あり | 改行なし | 改行なし |
| Firefox | 改行なし | × | 改行なし | 改行なし | 改行なし |
| IE10・IE11 | 改行なし | 改行あり | 改行なし | 改行なし | 改行なし |
| IE9 | 改行なし | 改行あり | × | 改行なし | 改行なし |
| IE8 | × | 改行あり | × | 改行なし | 改行なし |




※ エキスパートモードで表示しています
アーカイブとカテゴリページはこのように簡単に設定できますが、タグページは HTML 設定を直接変更して、以下の『タグページでのみ表示される内容』の記述方法で設定する必要があります


