Javascript 在html的输入中输入索引值时如何显示数组项
我已经创建了javascript函数,在输入框中输入索引值时显示数组项,但它不起作用,但我想通过forloop来实现Javascript 在html的输入中输入索引值时如何显示数组项,javascript,html,arrays,Javascript,Html,Arrays,我已经创建了javascript函数,在输入框中输入索引值时显示数组项,但它不起作用,但我想通过forloop来实现 <html> <head> <title>ForLoop</title> </head> <body> <input id="answer"/><br/><br/> <button id="btn">Generate</button><br/&
<html>
<head>
<title>ForLoop</title>
</head>
<body>
<input id="answer"/><br/><br/>
<button id="btn">Generate</button><br/><br/>
<h1 id="ans"></h1>
<script>
var MyArray=["Lion","Mouse","Cat","Dog","Buffalo","Cow","Rat","Tiger","Monkey","Lepoard","Lizard"]
for(var i=0; i<MyArray.length;i++){
document.getElementById("btn").onclick=function(){
if( document.getElementById("answer").value==MyArray[i]){
document.getElementById("ans").innerHTML=MyArray[i]
}
}
}
</script>
</body>
</html>
前环
生成
var MyArray=[“狮子”、“老鼠”、“猫”、“狗”、“水牛”、“牛”、“老鼠”、“老虎”、“猴子”、“壁板”、“蜥蜴”]
对于(变量i=0;i
前环
生成
var MyArray=[“狮子”、“老鼠”、“猫”、“狗”、“水牛”、“牛”、“老鼠”、“老虎”、“猴子”、“壁板”、“蜥蜴”];
document.getElementById(“btn”).onclick=function(){
var index=parseInt(document.getElementById(“answer”).value)| 0;
var ans=MyArray[索引];
document.getElementById(“display”).innerHTML=ans;
}//onclick
前环
生成
var MyArray=[“狮子”、“老鼠”、“猫”、“狗”、“水牛”、“牛”、“老鼠”、“老虎”、“猴子”、“壁板”、“蜥蜴”];
document.getElementById(“btn”).onclick=function(){
var index=parseInt(document.getElementById(“answer”).value)| 0;
var ans=MyArray[索引];
document.getElementById(“display”).innerHTML=ans;
}//onclick
使用值
作为数组的索引
运算符位于其操作数之前并计算为其操作数,但如果尚未将其转换为数字,则尝试将其转换为
该属性表示(获取/设置)节点及其子体的文本内容
还应考虑以下情况:
- 如果值为空(
'
)
- 如果提供
索引,则数组中确实存在索引
var MyArray=[“狮子”、“老鼠”、“猫”、“狗”、“水牛”、“牛”、“老鼠”、“老虎”、“猴子”、“壁虎”、“蜥蜴”];
document.getElementById(“btn”).onclick=function(){
var ans=document.getElementById('answer')。值;
document.getElementById(“ans”).textContent=(ans==“”)?“”:MyArray[+ans]| |“”;
}
生成
使用值
作为数组的索引
运算符位于其操作数之前并计算为其操作数,但如果尚未将其转换为数字,则尝试将其转换为
该属性表示(获取/设置)节点及其子体的文本内容
还应考虑以下情况:
- 如果值为空(
'
)
- 如果提供
索引,则数组中确实存在索引
var MyArray=[“狮子”、“老鼠”、“猫”、“狗”、“水牛”、“牛”、“老鼠”、“老虎”、“猴子”、“壁虎”、“蜥蜴”];
document.getElementById(“btn”).onclick=function(){
var ans=document.getElementById('answer')。值;
document.getElementById(“ans”).textContent=(ans==“”)?“”:MyArray[+ans]| |“”;
}
生成
有两个问题
您正在for循环内部附加事件侦听器
您需要执行相同的document.getElementById('ans').innerHTML来更新ans DOM元素
希望这个片段和演示会有用
var MyArray=["Lion","Mouse","Cat","Dog","Buffalo","Cow","Rat","Tiger","Monkey","Lepoard","Lizard"]
document.getElementById("btn").onclick=function(){
var _ip =document.getElementById("answer").value;
document.getElementById("display").innerHTML=MyArray[_ip];
}
有两个问题
您正在为循环将事件侦听器附加到内部。事实上,不需要for-loop
您需要执行相同的document.getElementById('ans').innerHTML来更新ans DOM元素
希望这个片段和演示会有用
var MyArray=["Lion","Mouse","Cat","Dog","Buffalo","Cow","Rat","Tiger","Monkey","Lepoard","Lizard"]
document.getElementById("btn").onclick=function(){
var _ip =document.getElementById("answer").value;
document.getElementById("display").innerHTML=MyArray[_ip];
}
请现在检查,我已经复制了您的代码,并且有一些额外的大括号。@Mohit Bhardwaj仍然不是我不想显示为警报,而是显示为text@MandarSant已将我的代码更新为在#display
元素中显示为文本。请现在检查,我已复制了您的代码,并且它还有一些额外的大括号。@Mohit Bhardwaj仍然没有我不想显示为警报,但显示为text@MandarSant更新了我的代码以在#display
元素中显示为文本。