javascript - 如何在javascript中从HTML列表中保存多个文本对象
问题描述
我有 8 个 dataString 对象。“dataString”是我从附件 1 调用的对象,附件 1 是我从控制器转发的列表。
这是我的 HTML 代码:
<% int nilai = 0; %>
<c:forEach items="${attachment1}" var="a">
<div class="w3-image w3-padding">
<div id="ini">${a.dataString}</div>
<%=nilai = nilai + 1%>
</c:forEach>
这是我在 javascript 中的代码:
var blob = [];
blob.push(document.getElementById('ini').innerHTML);
var blobLength = blob.length;
console.log(blob);
console.log(blobLength);
但是,当我在网页上运行并显示时,我在检查元素中看到了这个结果:
网页 上的结果如图所示,java的结果可以完美地显示在网页上。
结果在控制台中检查元素 但在控制台中,您可以看到,从 8 个字符串中,只有 1 个字符串输入到 javascript 的列表中。
如何修复它?这样我就可以将所有 dataString 放在 javascript 的列表中?
解决方案
id
您必须按公共类(在我的示例中)更改重复项ini
,因为标识符在同一文档中应该是唯一的:
<% int nilai = 0; %>
<c:forEach items="${attachment1}" var="a">
<div class="w3-image w3-padding">
<div class="ini">${a.dataString}</div>
<%=nilai = nilai + 1%>
</c:forEach>
然后在您的 JS 中使用该类获取所有元素,并使用属性获取内容并将其推送到数组中ini
循环遍历它们:foreach
.textContent
blob
var blob = [];
document.getElementsByClassName('ini').forEach( function(item) { ;
blob.push(item.textContent);
}
var blobLength = blob.length;
console.log(blob);
console.log(blobLength);
注意:您应该在循环中w3-image
使用 div关闭</div>
c:forEach
推荐阅读
- ruby-on-rails - 从 Hyperloop 升级到 Hyperstack 时,是否仍然需要“opal_hot_reloader”gem?
- excel - excel中的多个条件是否有更好的功能可以使用
- apache-spark - Pyspark 在元组列表上设置
- python - 如何在 Python 中将时间戳转换为字符串
- r - 如何在 R Shiny 中选择一个目录并输出选择的目录
- google-maps - Google 时区 API 返回了错误的经纬度时区信息
- python - 如果某行中有某个值,则添加 2d 列表的列
- c - 无法将后续压缩数据写入 C 中的输出文件
- reactjs - 映射从 API 调用的数组并返回未定义时,ReactJS 崩溃
- sql-server - 如何将毫秒的日期转换为只有 000 而不是毫秒的日期?