gpt4 book ai didi

JavaScript 单元格填充

转载 作者:行者123 更新时间:2023-12-01 03:25:41 27 4
gpt4 key购买 nike

我正在尝试使用 JS 代码中的一些值填充 HTML 表。前几行可以工作,但我的函数却不能。

有人知道为什么吗?我在下面包含了我的代码。

function set(id,num) {
document.getElementById(id).innerHTML = num;
}
var num1 = set("1.4", 55); //ok
var num2 = set("1.6", 56); //ok
var num3 = set("1.12", 57); //ok

function addition() { //notok
//var n1 = document.getElementById("1.4").innerHTML;
//var n2 = document.getElementById("1.6").innerHTML;
//var n3 = document.getElementById("1.12").innerHTML;
//document.getElementById("1.14").innerHTML = parseInt(n1) + parseInt(n2) + parseInt(n3);
document.getElementById("1.14").innerHTML = 55 + 56 + 57;
}
body {
background-color: white;
}

table {
font-size: 15px;
border-collapse: collapse;
border: solid black 1px;
border-radius: 6px;
margin-top: 100px;
margin-left: auto;
margin-right: auto;
}

td, th {
border: solid black 1px;
padding: 10px;
}

.theader {
background-color: rgb(254, 102, 0);
}

th:first-child{
border-top: none;
}

td {
text-align:center;
}



td:first-child, th:first-child {
font-weight: bold;
}

h1 {
margin-top: 150px;
text-align: center;
color: black;
}

tr { background-color: white}
.change { background-color: black; color:white }
.normal { background-color: white }
.notchange{ background-color: white }
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<link href="StyleSheet1.css" rel="stylesheet" />

</head>
<body>
<h1>Test</h1>
<table>
<tr class="normal" onmouseover="this.className='change'" onmouseout="this.className='notchange'">
<td>Row1</td>
<td id="1.1">11</td>
<td id="1.2">11</td>
<td id="1.3">12</td>
<td id="1.4"></td>
<td id="1.5">14</td>
<td id="1.6"></td>
<td id="1.7">16</td>
<td id="1.8">17</td>
<td id="1.9">18</td>
<td id="1.10">19</td>
<td id="1.11">20</td>
<td id="1.12"></td>
<td id="1.13">22</td>
<td id="1.14"></td>
</tr>
...........
</table>
<script type="text/javascript" src="MyJavaScript1.js"></script>

</body>
</html>

我正在用JS编写一个表格,(“1.4”,“1.6”,“1.12”)单元格正确填充,但我无法填充单元格“1.14”。

最佳答案

你实际上从未invoke the function所以它不会运行。

将代码更改为如下所示:

function set(id,num) {
document.getElementById(id).innerHTML = num;
}
var num1 = set("1.4", 55); //ok
var num2 = set("1.6", 56); //ok
var num3 = set("1.12", 57); //ok

function addition() { //notok
document.getElementById("1.14").innerHTML = 55 + 56 + 57;
}

// added this line:
addition();

我添加了最后一行(并删除了注释行),它将调用该方法(从而运行其中的代码),并将该函数移动到文件的顶部。虽然不需要移动该功能,但由于 function hoisting我认为在调用函数之前声明它是一个很好的做法。

附加说明

您将使用以下行将 set 函数的结果分配给变量:

var num1 = set("1.4", 55); //ok

不必这样做。您只需调用 set("1.4", 55) 即可。

========下面的旧答案==========

You're using getElementById and .valueOf wrong. getElementById refers to a HTML element. For example:

getElementById("cell1") would pick the element which looks like:

<td id="cell1"></td>

.valueOf returns the primitive value of a String object, for example:

var str = "Hello World!";
var res = str.valueOf();
console.log(res); // prints: Hello World!

So assuming your html looks like this:

<table>
<tr>
<td id="cell1"></td>
<td id="cell2"></td>
<td id="cell3"></td>
</tr>
</table>

The Javascript code to fill the cell's would look something like this::

document.getElementById("cell1").innerHTML = "1.4";
document.getElementById("cell2").innerHTML = "1.6";
document.getElementById("cell3").innerHTML = "1.12";

关于JavaScript 单元格填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44841747/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com