1: window.onload = function() {
  2:   //var omap = {}; //eq = new Object();
  3:   var omap = { select:'選択表示にする方法',etc:'その他' };
  4:   var divelements = document.getElementsByTagName("div");
  5:   for(var i=0; divelements.length>i; i++) {
  6:      var classval = divelements[i].getAttribute("class");
  7:      if (classval != null){
  8:          var classvs = classval.split(" ");
  9:          for(var c=0; classvs.length>c; c++) {
 10:             if (classvs[c] != null){
 11:                if (omap[classvs[c]] == undefined) omap[classvs[c]] = classvs[c];
 12:             }
 13:          }
 14:      }
 15:   }
 16:
 17:   var emtp = document.createElement("p");
 18:   emtp.setAttribute("class","btn"); 
 19:   for(var key in omap){
 20:       var textnd = document.createTextNode(omap[key]);
 21:       var textndsp = document.createTextNode(" ");
 22:       var emtspan = document.createElement("span");
 23:       emtspan.appendChild(textnd);
 24:       emtspan.setAttribute("onclick","xdisp('"+key+"')");
 25:       emtp.appendChild(emtspan);
 26:       emtp.appendChild(textndsp);
 27:    }
 28:    var textnd = document.createTextNode("全部表示");
 29:    var emtspan = document.createElement("span");
 30:    emtspan.appendChild(textnd);
 31:    emtspan.setAttribute("onclick","alldisp()");
 32:    emtp.appendChild(emtspan);
 33: 
 34:    var emth1s = document.getElementsByTagName("h1");
 35:    var nextemt = emth1s[0].nextSibling;
 36:    emth1s[0].parentNode.insertBefore(emtp,nextemt);
 37: }
 
前半はページ中のdiv要素のclass属性を集めています。
  1: window.onload = function() {
  2:   //var omap = {}; //var omap = new Object();
  3:   var omap = { select:'選択表示にする方法',etc:'その他' };
  4:   var divelements = document.getElementsByTagName("div");
  5:   for(var i=0; divelements.length>i; i++) {
  6:      var classval = divelements[i].getAttribute("class");
  7:      if (classval != null){
  8:          var classvs = classval.split(" ");
  9:          for(var c=0; classvs.length>c; c++) {
 10:             if (classvs[c] != null){
 11:                if (omap[classvs[c]] == undefined) omap[classvs[c]] = classvs[c];
 12:             }
 13:          }
 14:      }
 15:   }
後半は要素を作ってボタンにします。
 17:   var emtp = document.createElement("p");
 18:   emtp.setAttribute("class","btn"); 
 19:   for(var key in omap){
 20:       var textnd = document.createTextNode(omap[key]);
 21:       var textndsp = document.createTextNode(" ");
 22:       var emtspan = document.createElement("span");
 23:       emtspan.appendChild(textnd);
 24:       emtspan.setAttribute("onclick","xdisp('"+key+"')");
 25:       emtp.appendChild(emtspan);
 26:       emtp.appendChild(textndsp);
 27:    }
 28:    var textnd = document.createTextNode("全部表示");
 29:    var emtspan = document.createElement("span");
 30:    emtspan.appendChild(textnd);
 31:    emtspan.setAttribute("onclick","alldisp()");
 32:    emtp.appendChild(emtspan);
 33: 
 34:    var emth1s = document.getElementsByTagName("h1");
 35:    var nextemt = emth1s[0].nextSibling;
 36:    emth1s[0].parentNode.insertBefore(emtp,nextemt);
 37: }