dom3.html 1.84 KB
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8" />
<title>DOMサンプル</title>
<script language="javascript" type="text/javascript">
//最初に表示されているliタグの数を定義
var number = 3;

// 追加アクション
function addItem() {
  // liタグの数をインクリメント
  number ++;
  // liタグノードを新規に生成する
  var elem = document.createElement('li');
  // liタグにid属性を追加する
  elem.id = 'item' + number;
  // liタグのテキストノードを新規に生成する
  var caption = document.createTextNode('リスト' + number);
  // 生成したテキストノードをliタグノードの子ノードとして結合する
  elem.appendChild(caption);
  // liタグを追加する。
  document.getElementById('list').appendChild(elem);
}

// 削除アクション
function delItem() {
  // すべての項目が削除されている状態の場合にはエラー表示
  if(number == 0) {
    alert('削除できる項目はありません。');
    return false;
  }
  // 削除するliノードの参照を取得
  var elem = document.getElementById('item'+number);
  // ulノードの子要素であるliノードを削除する
  document.getElementById('list').removeChild(elem);
  // liタグの数をデクリメント
  number --;
}
</script>
</head>

<body>
    <input type="button" name="addBtn" value="追加" onclick="addItem()" /> 
    <input type="button" name="delBtn" value="削除" onclick="delItem()" />
    <ul id="list">
        <li id="item1">リスト1</li>
        <li id="item2">リスト2</li>
        <li id="item3">リスト3</li>
    </ul>
</body>
</html>