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: }