所以我在这里有这段代码:
var pinakasPinakas= [2, 43, -21, 25, 34, -9, -50, 60, 12, -3];
var sum=0;
for (var i=0; i<pinakasPinakas.length; i++){
if (pinakasPinakas [i] >0){
sum=sum+pinakasPinakas[i];
}
}
document.getElementById("summy").innerHTML="Sum: " +sum+ ".<br>"
var multi=1;
for (var i=0; i<pinakasPinakas.length; i++){
if(pinakasPinakas[i] > 0){
multi=multi*pinakasPinakas[i];
}
}
document.getElementById("multipl").innerHTML="multi: " +multi+ ".<br>"
for (var i=0; i<pinakasPinakas.length; i++){
if(pinakasPinakas[i]<0){
document.getElementById("negative").innerHTML=(pinakasPinakas[i]);
// document.write(pinakasPinakas[i])
}}
//
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
ul {
list-style-type: none;
margin: 0;
padding: 0;
width: 400px;
background-color: rgb(108, 162, 231);
border: 1px solid rgb(3, 24, 63);
}
li a {
display: block;
color: rgb(24, 12, 27);
text-decoration: none;
padding: 5px 11px;
}
li a:hover:not(.active) {
background-color: rgb(64, 102, 151);
color: rgb(15, 30, 37);
}
li {
text-align: center;
border-bottom: 2px solid rgb(6, 47, 100);
}
li:last-child {
border-bottom: none;
}
li a.active {
background-color: rgb(0, 82, 189);
color: rgb(25, 15, 27);
}
h2{color: rgb(10, 47, 116);}
p{color: darkblue;}
</style>
</head>
<body>
<ul>
<li><a href="#page1.html" class="active">Page 1</a></li>
<li><a href="page2.html"> Page 2</a></li>
</ul>
<h2>Πρόσθεση & Γινόμενο θετικών αριθμών</h2>
<p id="summy"></p>
<p id="multipl"></p>
<h2>Εμφάνιση αρνητικών αριθμών</h2>
<p id="negative"></p>
<script src="Page1.js"></script>
</body>
</html>
我的“项目”是将正数相乘并相加,然后将每个正数放在一个“ ID”中,该ID当然在我的HTML文件中。这很容易,我在上面做过参见。
所以,怎么了?之后,我还应该像这样显示负值:在html文件的另一个<p id="negative">
中。 (-21,-9,-50,-3)。当我在我的innerHTML中使用getElementById方法时,什么也没有出现,但是有时当我修改一点时,最后的负值会显示出来(只有-3)。当我注释掉并取消注释document.write()
方法时,将显示所有负数。为什么第一种方法会遇到这样的问题?我该如何修复我的代码并最终使用getElementById?
//谢谢
将每个元素附加到html:document.getElementById("negative").innerHTML += pinakasPinakas[i]
如果编写document.getElementById("negative").innerHTML = pinakasPinakas[i]
,则html元素将使用迭代中的每个值覆盖内容,最终的打印内容将为最后的元素。如果要显示迭代中的所有元素,请使用+=
。
此外,请尝试重用代码。在这种情况下
var sum=0;
for (var i=0; i<pinakasPinakas.length; i++){
if (pinakasPinakas [i] >0){
sum=sum+pinakasPinakas[i];
}
}
document.getElementById("summy").innerHTML="Sum: " +sum+ ".<br>"
var multi=1;
for (var i=0; i<pinakasPinakas.length; i++){
if(pinakasPinakas[i] > 0){
multi=multi*pinakasPinakas[i];
}
}
您迭代相同的数组两次,并且您使用的是相同的条件if (pinakasPinakas [i] >0)
请看下面的代码片段:
var pinakasPinakas = [2, 43, -21, 25, 34, -9, -50, 60, 12, -3];
var sum = 0;
var multi = 1;
for (var i = 0; i < pinakasPinakas.length; i++) {
if (pinakasPinakas[i] > 0) {
sum += pinakasPinakas[i];
multi = multi * pinakasPinakas[i];
}
}
document.getElementById("summy").innerHTML = "Sum: " + sum + ".<br>"
document.getElementById("multipl").innerHTML = "Multi: " + multi + ".<br>"
for (var i = 0; i < pinakasPinakas.length; i++) {
if (pinakasPinakas[i] < 0) {
document.getElementById("negative").innerHTML += pinakasPinakas[i] + ", ";
} else {
document.getElementById("positive").innerHTML += pinakasPinakas[i] + ", ";
}
}
//
ul {
list-style-type: none;
margin: 0;
padding: 0;
width: 400px;
background-color: rgb(108, 162, 231);
border: 1px solid rgb(3, 24, 63);
}
li a {
display: block;
color: rgb(24, 12, 27);
text-decoration: none;
padding: 5px 11px;
}
li a:hover:not(.active) {
background-color: rgb(64, 102, 151);
color: rgb(15, 30, 37);
}
li {
text-align: center;
border-bottom: 2px solid rgb(6, 47, 100);
}
li:last-child {
border-bottom: none;
}
li a.active {
background-color: rgb(0, 82, 189);
color: rgb(25, 15, 27);
}
h2 {
color: rgb(10, 47, 116);
}
p {
color: darkblue;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<ul>
<li><a href="#page1.html" class="active">Page 1</a></li>
<li><a href="page2.html"> Page 2</a></li>
</ul>
<h2>Πρόσθεση & Γινόμενο θετικών αριθμών</h2>
<p id="summy"></p>
<p id="multipl"></p>
<h2>Εμφάνιση αρνητικών αριθμών</h2>
<p id="negative">Negative: </p>
<p id="positive">Positive: </p>
<script src="Page1.js"></script>
</body>
</html>
只需添加加号运算符即可追加document.getElementById("negative").innerHTML +=(pinakasPinakas[i]);
var pinakasPinakas= [2, 43, -21, 25, 34, -9, -50, 60, 12, -3];
var sum=0;
for (var i=0; i<pinakasPinakas.length; i++){
if (pinakasPinakas [i] >0){
sum=sum+pinakasPinakas[i];
}
}
document.getElementById("summy").innerHTML="Sum: " +sum+ ".<br>"
var multi=1;
for (var i=0; i<pinakasPinakas.length; i++){
if(pinakasPinakas[i] > 0){
multi=multi*pinakasPinakas[i];
}
}
document.getElementById("multipl").innerHTML="multi: " +multi+ ".<br>"
for (var i=0; i<pinakasPinakas.length; i++){
if(pinakasPinakas[i]<0){
document.getElementById("negative").innerHTML +=(pinakasPinakas[i]);
// document.write(pinakasPinakas[i])
}}
//
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
ul {
list-style-type: none;
margin: 0;
padding: 0;
width: 400px;
background-color: rgb(108, 162, 231);
border: 1px solid rgb(3, 24, 63);
}
li a {
display: block;
color: rgb(24, 12, 27);
text-decoration: none;
padding: 5px 11px;
}
li a:hover:not(.active) {
background-color: rgb(64, 102, 151);
color: rgb(15, 30, 37);
}
li {
text-align: center;
border-bottom: 2px solid rgb(6, 47, 100);
}
li:last-child {
border-bottom: none;
}
li a.active {
background-color: rgb(0, 82, 189);
color: rgb(25, 15, 27);
}
h2{color: rgb(10, 47, 116);}
p{color: darkblue;}
</style>
</head>
<body>
<ul>
<li><a href="#page1.html" class="active">Page 1</a></li>
<li><a href="page2.html"> Page 2</a></li>
</ul>
<h2>Πρόσθεση & Γινόμενο θετικών αριθμών</h2>
<p id="summy"></p>
<p id="multipl"></p>
<h2>Εμφάνιση αρνητικών αριθμών</h2>
<p id="negative"></p>
<script src="Page1.js"></script>
</body>
</html>