所以我正在尝试为 friend 的元素完成这个简单的 html 页面,目标是获得 2 个用户条目,分钟和秒,将与表中已有的数据进行比较,如果输入的分钟和秒大于表中的时间之一,它将被条目替换。 除了做一些简单的提示或警告之外,我从来没有使用过 js,所以我不知道我应该做什么。 这是 html、js 和 css:
function timeEntry() {
var min1 = Number(document.getElementById('firstTimeMin'));
var sec1 = Number(document.getElementById('firstTimeSec'));
var min2 = Number(document.getElementById('secondTimeMin'));
var sec2 = Number(document.getElementById('secondTimeSec'));
var min3 = Number(document.getElementById('thirdTimeMin'));
var sec3 = Number(document.getElementById('thirdTimeSec'));
var entryMin = Number(prompt('What is the time in minutes ?'));
var newTimeMin = entryMin;
var entrySec = Number(prompt('What is the time in seconds'));
var newTimeSec = entrySec;
for (var i = 0; i < 3; i++) {
if (entryMin > min1 && entrySec > sec1) {
document.getElementById('firstTimeMin').innerHTML = newTimeMin;
document.getElementById('firstTimeSec').innerHTML = newTimeSec;
break;
} else if (entryMin > min2 && entrySec > sec2) {
document.getElementById('secondTimeMin').innerHTML = newTimeMin;
document.getElementById('secondTimeSec').innerHTML = newTimeSec;
break;
} else if (entryMin > min3 && entrySec > sec3) {
document.getElementById('thirdTimeMin').innerHTML = newTimeMin;
document.getElementById('thirdTimeSec').innerHTML = newTimeSec;
break;
}
};
}
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html,
body {
height: 100%;
}
section {
width: 100%;
height: 100%;
}
table,
td {
width: 40%;
text-align: center;
border: 1px solid black;
border-collapse: collapse;
}
button {
cursor: pointer;
font-weight: 700;
}
<!DOCTYPE html>
<html>
<head>
<title>Table of best times</title>
<link rel="stylesheet" type="text/css" href="css/style.css">
<script type="text/javascript" src="javascript/besttime.js"></script>
</head>
<body>
<section>
<table>
<tbody>
<caption>The best times</caption>
<tr>
<td id="firstTimeMin">1</td>
<td id="firstTimeSec">2</td>
</tr>
<tr>
<td id="secondTimeMin">3</td>
<td id="secondTimeSec">4</td>
</tr>
<tr>
<td id="thirdTimeMin">5</td>
<td id="thirdTimeSec">6</td>
</tr>
</tbody>
</table>
<button onclick="timeEntry()">
Enter a new time
</button>
</section>
</body>
</html>
我的想法是简单地使用 Number
或 parseInt
获取表中已有的数据来获取数字值,但无论哪种方式,我一直在做的测试,当我尝试从 html 中获取元素时,它告诉我我得到了一个数字类型,但是当我尝试在操作中使用它时,它返回 NaN。也许我只是愚蠢,但我一直在阅读并寻找一种方法从单元格中获取数据作为数字,但除了 Number
或 parseInt
或使用表格,我还没有找到执行此操作的方法,而且我搜索得越多,就越不明白为什么它不起作用。
任何有关如何完成这项工作的帮助或线索,即使这意味着从头开始,我们也将不胜感激。
最佳答案
document.getElementById('firstTimeMin')
只获取 DOM 元素,你应该做 document.getElementById('firstTimeMin').innerHTML
来获取 DOM 元素的内容HTML,因此您可以使用 parseInt()
或 Number
获取数字。
对每个元素做同样的事情。
关于javascript - 无法在我的 js 函数中使用 parseInt 或 Number 从 HTML 获取数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58789689/