如何将数组链接到 html 中的 javascript 函数
How to link an array to a javascript function in html?
嗨,我是Javascript的新手,我对如何实际调用函数感到非常困惑。我不确定为什么这不起作用,并希望得到一些输入。
我的网页 :
<html>
<head>
<script type="text/javascript" src="problem2.js"></script>
</head>
<body>
<INPUT TYPE="button" NAME="Answer" VALUE="Click to see Answer" onClick="MyFunction(array);">
<div id="answerswer"></div>
</body>
</html>
我的 JavaScript :
var array = [3, 1, 1, 'a', 'a', 3, 'b', 'f', 'a', 1, 'a'];
function MyFunction(array) {
var counter = 0,
amount = 1,
highest;
for (var i=0; i<array.length; i++) {
for(var j=i; j<array.length;j++) {
if (array(i) ===array(j)){
counter++;
}
if(counter>amount){
amount=counter;
highest=array[i];
}
}
counter = 0;
}
document.getElementById("answerswer").innerHTML(highest + " " + amount + times");
}
你的函数中有几个错误,首先要访问数组项目,你应该使用括号[]
而不是()
,例如:
if (array[i] === array[j]){
counter++;
}
您错过了以下行中的双引号"
,也要使用innerHTML
分配 HTML,您应该在它后面=
:
document.getElementById("answerswer").innerHTML(highest + " " + amount + times");
应该是 :
document.getElementById("answerswer").innerHTML = highest + " " + amount + "times";
而且您不必从 HTML 传递数组,因为数组已经在 JS 代码中定义,因此只需使用它:
<INPUT TYPE="button" NAME="Answer" VALUE="Click to see Answer" onClick="MyFunction();">
//Define function without argument
function MyFunction() {
//your code here
}
希望这有帮助。
工作片段
var array = [3, 1, 1, 'a', 'a', 3, 'b', 'f', 'a', 1, 'a'];
function MyFunction() {
var counter = 0;
var amount = 1;
var highest;
var i;
for (i=0; i<array.length; i++)
{
for(var j=i; j<array.length;j++){
if (array[i] === array[j]){
counter++;
}
if(counter>amount){
amount=counter;
highest=array[i];
}
}
counter = 0;
}
document.getElementById("answerswer").innerHTML = highest + " " + amount + "times";
}
<INPUT TYPE="button" NAME="Answer" VALUE="Click to see Answer" onClick="MyFunction();">
<div id="answerswer"></div>
您提供的代码的工作副本和它的FIDDLE
<body>
<script>
var array = [3, 1, 1, 'a', 'a', 3, 'b', 'f', 'a', 1, 'a'];
function MyFunction(array) {
var counter = 0;
var amount = 1;
var highest;
var i;
for (i = 0; i < array.length; i++) {
for (var j = i; j < array.length; j++) {
if (array[i] === array[j]) {
counter++;
}
if (counter > amount) {
amount = counter;
highest = array[i];
}
}
counter = 0;
}
document.getElementById("answerswer").innerHTML = highest + " " + amount + " times";
}
</script>
<INPUT TYPE="button" NAME="Answer" VALUE="Click to see Answer" onClick="MyFunction(array)">
<div id="answerswer"></div>
相关文章:
- Dojo不解析自定义小部件的模板html中的小部件声明性
- 使用html中的外部javascript进行数据验证
- JS验证ajax返回的html中的表单数据
- 如何使用jquery更改html中的背景颜色
- Brightcove获取/显示HTML中的当前视频标题和描述
- 如何关闭html中的iframe弹出窗口
- 计算HTML中的页数
- 通过Javascript将HTML中的电话号码与URL参数进行交换
- 是否可以从html中的javascript调用.vbs文件
- HTML中的垂直进度条
- HTML 中的 Javascript 不会执行
- 使用CSS嵌入HTML中的水平居中jQuery
- 从JavaScript中正确返回html中的特殊字符
- 访问HTML中的data-*属性并将其作为道具传递
- 从.js文件调用html中的js函数
- JS/jquery:我将如何遍历HTML中的每个图像
- 对javascript使用.html中的select id
- 引用nodejs服务器中html中的java脚本文件
- 可以't在Wordpress中从HTML中的JS文件调用函数
- 从HTML中的外部JS文件调用函数