我是JavaScript的初学者,想显示HTML中的对象数组。
数据格式如下:
[
{"key":"apple","value":1.90},
{"key":"berry","value":1.7},
{"key":"banana","value":1.5},
{"key":"cherry","value":1.2}
]
我想使用包含三列(id,名称,相关性)的列表来显示它们。ID可以从1自动增加。
谁能告诉我如何编写一个JavaScript代码来显示它?
请给我一些材料或示例进行学习。
您想要的是用JavaScript填充HTML中的表(或另一个DOMElement),一旦加载页面并接收到JSON对象,该表就会动态执行。
您要遍历对象。最好的方法是使用for
循环,并确保 循环变量 在对象(所有属性)的长度内保持有效。
获取JSON对象长度的最好方法是通过myJSONObject.length
:选择 myJSONObject 的键并返回其计数。
您可以通过以下方式在for
循环中访问存储在JSON对象中的值(假设html" target="_blank">定义的循环变量名为i
):myJSONObject[i].theAttributeIWantToGet
现在,这些价格需要采用正确的格式,不是吗?因此,我们将检查其中的任何value
属性是否 少于2个
字符.
。如果是这样,我们再加上一个小数0
。我们还要$
在写入格式化值之前添加一个。以下是其工作方式的细分:
obj[i].value.toString().substring(startIndex, length)
.
符号后的长度,因此我们的startIndex将是该点在字符串中的位置。obj[i].value.toString().substring(obj[i].value.toString().indexOf('.'),length)
最后结果: obj[i].value.toString().substring(obj[i].value.toString().indexOf('.'), obj[i].value.toString().length) < 2
这将返回true或false。如果是真的:圆点后面的数字少于2位!
我们添加if
语句和最后一个零:
if (obj[i].value.toString().substring(obj[i].value.toString().indexOf('.'), obj[i].value.toString().length) < 2) obj[i].value += "0";
另外: 为什么我使用innerHTML
而不是appendChild()
。
<table>
<tbody id="tbody"></tbody>
</table>
[{
"key": "apple",
"value": 1.90
}, {
"key": "berry",
"value": 1.7
}, {
"key": "banana",
"value": 1.5
}, {
"key": "cherry",
"value": 1.2
}]
注意: JSON对象将obj
在此实例中命名。
var tbody = document.getElementById('tbody');
for (var i = 0; i < obj.length; i++) {
var tr = "<tr>";
/* Verification to add the last decimal 0 */
if (obj[i].value.toString().substring(obj[i].value.toString().indexOf('.'), obj[i].value.toString().length) < 2)
obj[i].value += "0";
/* Must not forget the $ sign */
tr += "<td>" + obj[i].key + "</td>" + "<td>$" + obj[i].value.toString() + "</td></tr>";
/* We add the table row to the table body */
tbody.innerHTML += tr;
}
问题内容: 我有一个包含多个子节点的大HTML字符串。 是否可以使用此字符串构造 jQuery DOM对象? 我试过了,但它只返回一个包含所有单个节点的数组。 试图获得一个我可以使用.find()函数的元素。 问题答案: 更新: 从jQuery 1.8开始,我们可以使用$.parseHTML,它将HTML字符串解析为DOM节点数组。例如: 这段代码中发生了什么: 是DOM中不存在的伪造品 作为孩子
我有Class1类的object1。我想将Class1类扩展到Class2,添加一个方法,然后创建Class2的object2,它在所有方法中的行为都与object1完全相同,只是现在它将有一个额外的方法。 Object1.OldMethod应该具有与Object2.OldMethod完全相同的行为。一个愚蠢的方法是编写一个脚本,用class1继承的100多个方法生成新类: 编辑:很抱歉没有把它说
我需要将一个新项添加到现有的中,给定一个键和一个值。该值在方法sig中指定为,并且应该是objectNode.set()接受的类型之一(、、等)。但是我不能只执行,因为value只是一个,当然我会出现“不适用参数(String,Object)”错误。 一定有更好的办法,但我找不到。 我猜有一种使用的方法,但我现在还不清楚是如何使用的。例如,我可以将值作为字符串写出来,但我需要它作为我可以在Obje
我有两个json对象,请不要是字符串,我想将它们组合成一个json对象,如下所示。 两个对象: 预期结果: 有没有一种优雅的方法可以做到这一点?我的意思是,不提取每支笔和每本书的值,然后使用以下方法将它们重新插入包 我正在使用org。科德豪斯。抛弃json。JSONObject,如果需要该信息。
问题内容: 我正在尝试学习AppScript,并以Google表格为例。我想使用工作表中填充的一些数据创建一个简单的JSON对象。 表例 我希望JSON像这样 TQzPIVJf6-w](https://www.youtube.com/watch?v=TQzPIVJf6-w)。但是,该视频谈到了将每个列标题创建为一个对象。如我所希望的,列名是和行值是。 这是我当前的AppScript代码 输出是单个
当我试图在我的用户之间创建reation时,我遇到了一个问题。一个用户可以是另一个用户的营养师,所以我有这样的结构: 在我的DbContext类中,我还定义了关系: 最后,我的迁移代码看起来是这样的: 为什么我有这些ApplicationUserId和ApplicationUserId1列?怎么解决? 你觉得这样定义那些关系怎么样?老实说,我需要用户只有一个营养师,但我没有找到实现它的方法。