ここで奇妙なグリッチのビット。
IF ステートメントがコメント アウトされている場合、タグ名はchildNode
正しくログに記録されますが、IF ステートメントのコメントを解除するとすぐに、childNode
タグ名は " #TEXT
" としてログに記録されます。
<body>
<div id="page_Wrapper">
<h1>h1</h1>
<br />
<br />
<br />
<b>b</b>
<br />
<i>i</i>
<br />
<u>u</u>
<div>div</div>
<span>span</span>
</div>
<script>
window.onLoad = removeTags();
function removeTags(){
var allTags = document.getElementById("page_Wrapper").childNodes;
console.log("allTags length: " + allTags.length);
for (var i = 0; i < allTags.length; i++){
var tag = allTags[i].nodeName.toLowerCase();
console.log(tag);
/*
if (tag != "b" || tag != "br" || tag != "i"){
allTags[i].parentNode.removeChild(allTags[i]);
}
*/
}
}
</script>
</body>
http://jsfiddle.net/MythOfEchelon/VpNWA/3/
完成した作業コード:
<body>
<div id="page_Wrapper">
<h1>h1</h1>
<br />
<br />
<br />
<b>b</b>
<br />
<i>i</i>
<br />
<u>u</u>
<div>div</div>
<span>span</span>
</div>
<script>
window.onload = removeTags;
function removeTags(){
var allTags = document.getElementById("page_Wrapper").childNodes;
var i = allTags.length;
while (i--){
var tag = allTags[i].nodeName.toLowerCase();
console.log(tag);
if (tag != "b" && tag != "br" && tag != "i"){
allTags[i].parentNode.removeChild(allTags[i]);
}
}
}
</script>
</body>