sz_yeefun
2016-08-31 01:13
<form> <input type="checkbox" name="hobby" id="hobby1">音乐 <input type="checkbox" name="hobby" id="hobby2">登山 </form> <script type="text/javascript"> var input=document.getElementsByTagName("input"); document.write(input[0].innerHTML); //結果為無 document.write(input.innerHTML); //結果為1 ← 我自己搞錯了 2016.08.31 document.write(input[0].value); //結果為on </script>
為什麼我無法用 input[0].innerHTML 獲取到 <input> 裡的"音乐"? 如果不指定索引,直接用 innerHTML 就會獲取到 1,為什麼? ← 我自己搞錯了 2016.08.31 為什麼我用 input[0].value 獲取到的是 on? on 是什麼意思?
1.因为<input>并没有和后面text的内容绑定,可以改成<label><input type="checkbox" name="hobby" id="hobby1">音乐</label> 将复选框和text绑定(之前为了onclick文字就选中复选框的时候就是这么干的)再输出“音乐”,另外也可以用ocument.write(input[0].nextSibling.nodeValue);输出“音乐” 2.我的 input.innerHTML输出为“undefined”,没什么问题; 3.input[0].value输出的checkbox的值,在value未指定属性时,输出“on”
innerHTML是获取元素里面的文本,比如<p>html</p> 是可以通过innerHTML获取“html”值,你的音乐和登山并没有包裹在input元素里,所以无法取到
JavaScript进阶篇
468060 学习 · 21891 问题
相似问题