想請大神解答一下,為什么我創建了兩個文本框,在第一個文本框獲取輸入的數值,點擊按鈕后,在第二個文本框顯示輸入數值對應節點的下一個節點,但是為何無法顯示出來?
<body>
<ul id="u1">
<li id="a">javascript</li>
<li id="b">jquery</li>
<li id="c">html</li>
</ul>
<ul id="u2">
<li id="d">css3</li>
<li id="e">php</li>
<li id="f">java</li>
</ul>
<input type='text' id='txt1' />
<input type="button" name="haha" id="c2" value="dianji" onclick="get_nextSibling()" />
<input type="text" id="txt2" value="" />
<script type="text/javascript">
function get_nextSibling() {
var x = document.getElementById("txt1").value;
var zuhe = document.getElementsByTagName("li");
var y = zuhe[x].nextSibling;
while (y && y.nodeType != 1) {
y = y.nextSibling;
}
document.getElementById("txt2").value = y.innerHTML;
}
</script>
</body>
這是我的代碼,我想在第一個文本框獲取輸入的數值,點擊按鈕后,在第二個文本框顯示輸入數值對應節點的下一個節點,但是為何無法顯示出來?
2019-01-14
因為你代碼中的取得'txt1'的值的x是字符串形式的,你需要把X轉化為整數,寫成var x = parseInt(document.getElementById("txt1").value);就可以了。