繁体   English   中英

自动获取 HTML 中的数组位置

[英]Getting Array positions in HTML automatically

I have many arrays some upto 60 some upto 100. I am trying to get the text at the 0 position of this arrays for all arrays. 对不起,我不知道如何正确地提出问题。 我不想为每个问候输入 (greeting[0])[1] 等 100 次。 到目前为止,这是我的代码。 有人可以帮助我吗? 问候 [0] 等实际上是 go 直到 60 等,是否可以做一些类似 let i = 0. 的问候,长度。 如果 i < 问候语,长度,i++。 并以某种方式放置(问候[i] [0]}。结果将是它显示段落元素或单独的window或其他内容中的所有问候显示的值。我对HTML还是新手,所以请原谅我是如果这看起来很基本。

编辑问题更新。 PS 我的一些 Arrays 的格式为 greeting[0] = new Greet["Hola", "Salve", "Olá"]。 我必须这样做,因为我使用了三个选项。 有什么办法可以让这个过程自动化吗?

已编辑的问题 - 更新 1 所以我更新了代码以更能代表我要问的内容。 基本上在这里我想提供一个按钮,以便在单击按钮时我可以看到我可以选择的所有英文单词。 所以我想做一些事情,比如在问候 0、1 等中获取英文单词的值并分别显示它们,这样我们就可以 select 我们想要哪个英文单词,而不仅仅是我们不知道它们代表什么单词的数字。 有人可以帮我解决这个问题吗!

<!DOCTYPE html>
<html>
<head>
</head>
<body>

    <p id="English"> Select English Word </p>

    <p id="French"> Click below button </p>

    <p id="Italian"> Click below button </p>

    <button onclick="Another()"> CLick </button>


    <script type="text/javascript" src="./script.js"></script>

</body>
</html>

var greeting = [];
greeting[0] = new Word("Hi", "salut", "Ciao") ;
greeting[1] = new Word("Hello", "Salve", "Ciao") ;
greeting[2] = new Word("Welcome", "Bienvenue", "benvenuta") ;
greeting[3] = new Word("Good Day", "Bonne journée", "Buona giornata") ;
greeting[4] = new Word("Good Day", "Bonjour", "Buongiorno") ;



function Word(English,French,Italian) {
    this.English = English ;
    this.French = French ;
    this.Italian = Italian ;
} ;


function Another() {

var nums = window.prompt("Select a number within " + greeting.length ) ;

var optionuser = greeting[nums] ;

var selection = alert("You selected English word " + optionuser.English )


document.getElementById("English").innerHTML = optionuser.English ;
document.getElementById("French").innerHTML = optionuser.French ;
document.getElementById("Italian").innerHTML = optionuser.Italian ;
}



我推荐使用Array.map(callback) (参见: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map

document.getElementById('something').innerHTML = greeting.map(item=>item[0]).join("<br>");

我在下面给出了一个稍微修改过的代码。希望这就是你要找的。 由于您是新手,因此建议不要在代码中使用 window.prompt。 探索其他方式。 function Word更改为Class Word 我认为您正在尝试创建 Class 但给出了错误的关键字。 我没有提示,而是使用了单选按钮。

<!DOCTYPE html>
<html>
<head>
</head>
<body>
    <p>Select Language:</p>
    <input type="radio" id="English" name="language" value="English">
    <label for="English">English</label><br>
    <input type="radio" id="French" name="language" value="French">
    <label for="French">French</label><br>
    <input type="radio" id="Italian" name="language" value="Italian">
    <label for="Italian">Italian</label><br>
    <input type="radio" id="Spanish" name="language" value="Spanish">
    <label for="Spanish">Spanish</label><br>
    <button onclick="Another()">Click</button>
    <p id="msg"></p>
<script>
class Word {
    constructor(English,French,Italian){
    this.English = English ;
    this.French = French ;
    this.Italian = Italian ;
    }
} ;
var greeting = [];
greeting[0] = new Word("Hi", "salut", "Ciao") ;
greeting[1] = new Word("Hello", "Salve", "Ciao") ;
greeting[2] = new Word("Welcome", "Bienvenue", "benvenuta") ;
greeting[3] = new Word("Good Day", "Bonne journée", "Buona giornata") ;



function Another() {

let optionSelected = document.querySelector('input[name="language"]:checked').value; 
document.getElementById('msg').innerHTML += 'You selected:'+optionSelected;
for(let i=0;i<greeting.length;i++){
document.getElementById('msg').innerHTML += '<br>' + greeting[i][optionSelected];    
}
}


</script>

</body>
</html>

注意:像以前一样使用单独的.js 文件。 出于回答目的,我使用了内联样式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM