ボタンをクリックしたら複数行の要素を非表示にしたいです。
以下のJSでは、1のボタンを押すとsample1とsample2のdivタグの要素を非表示し、
2のボタンを押すとsample2のみを非表示にする。としたのですがエラーが出てしまいました。
解決方法を教えてください。よろしくお願いします。
javascript
1 <script> 2 function disp(obj) { 3 if(obj.style.display==='block' || obj.style.display==="") obj.style.display = 'none'; 4 else obj.style.display = 'block'; 5 } 6 document.write('<form>'); 7 document.write('<input type="button" value="1" onclick="disp(obj1)">'); 8 document.write('<input type="button" value="2" onclick="disp(obj2)">'); 9 10 document.write('<div id="obj1"> sample1 </div>'); 11 document.write('<div id="obj1"> sample1 </div>'); 12 document.write('<div id="obj2"> sample2 </div>'); 13 14 document.write('</form>'); 15 </script>
Display.html:9 Uncaught TypeError: Cannot read property 'display' of undefined at disp (Display.html:9) at HTMLInputElement.onclick (Display.html:49)
document.write('<div id="obj1"> sample1 </div>');
を一つ消すとエラーはなくなるのですが、複数あると上記のエラーが出てきます。
回答4件
あなたの回答
tips
プレビュー