为了账号安全,请及时绑定邮箱和手机立即绑定

為什麼我無法用 innerHTML 獲取 <input> 裡的"音乐"?

<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 是什麼意思?


正在回答

2 回答

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”
4 回复 有任何疑惑可以回复我~
#1

sz_yeefun 提问者

這我困惑了好久,非常感謝您!
2016-08-31 回复 有任何疑惑可以回复我~

innerHTML是获取元素里面的文本,比如<p>html</p> 是可以通过innerHTML获取“html”值,你的音乐和登山并没有包裹在input元素里,所以无法取到

1 回复 有任何疑惑可以回复我~
#1

sz_yeefun 提问者

了解了,謝謝您!
2016-08-31 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

為什麼我無法用 innerHTML 獲取 <input> 裡的"音乐"?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信