ブログなどで作成したページで、ブログシステムで自動的に追加出力されるHTMLで、表示したくないものがある場合に、それを削除するJavascriptコードです。
id名で指定して削除
以下のコードでは、id=”id2″ をもつエレメントを探して、削除しています。
このため、5行目の
<div id="id2">text2</div>
の部分が削除され、表示されなくなります。
<html>
<body>
<div id="id1">text1</div>
<div id="id2">text2</div>
<div id="id3">text3</div>
<script type="text/javascript">
var node = document.getElementById('id2');
if(node != null){
//console.log("remove node=" + node.id);
node.parentNode.removeChild(node);
}
</script>
</body>
</html>
class属性の値で指定して削除
次は、class属性で削除する場合のコードです。
以下のコードでは、divタグで class=”class2″ の属性をもつエレメント削除しています。
このため、5行目の
<div class="class2">text2</div>
の部分が削除され、表示されなくなります。
(2013/01/25)対象Classが複数ある場合に先頭から消すとノードがずれていってしまうため、ノード検索のforループを最後から回して、末尾から消すように変更しました。
<html>
<body>
<div class="class1">text1</div>
<div class="class2">text2</div>
<div class="class3">text3</div>
<script type="text/javascript">
var divNode = document.getElementsByTagName("div");
for (i = divNode.length-1; i >= 0 ;i--) {
node = divNode[i];
//console.log("(" + i + ")class name :" + node.className);
if(node.className == "rlimg"){
//console.log("^^^^^^^^^^^^^remove");
node.parentNode.removeChild(node);
}
}
</script>
</body>
</html>

コメント