javascript - 获取迭代列表的所有值

标签 javascript html

如何将数组/列表的所有值放入一行?

html示例代码:

<div class="projects">
   <span clas="project_title"> project1 </span>
   <span clas="project_title"> project2 </span>
</div>

如果我想获取跨度的值,我必须使用它

document.querySelectorAll('div.projects span.project_title')[0].textContent

结果:

project1


document.querySelectorAll('div.projects span.project_title')[1].textContent

结果:

project2


是否有任何简单的 JS 查询,以便无需迭代到列表即可获取此结果?

结果示例:

project1, project2


最佳答案

没有迭代就无法获得所有这些。但这种迭代可以在幕后完成。您可以使用Array#map 获取textContents。在这种情况下,您需要迭代 HTMLElements,这是在 Array#map 的底层完成的。

const spans = document.querySelectorAll('div.projects span.project_title');
const texts = Array.prototype.map.call(spans, item => item.textContent);

console.log(texts);
<div class="projects">
   <span class="project_title"> project1 </span>
   <span class="project_title"> project2 </span>
</div>

关于javascript - 获取迭代列表的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46113646/

相关文章:

javascript - 如何使用 jquery 或 javascript 修改 <img> 标签的 src 属性的值

javascript - 如何根据父 div 的高度调整 ReactJS 组件的高度?

html - DIV定位和对齐问题

javascript - 检查一个对象是否有长度?

javascript - JSON.parse javascript 字符串

javascript - 如何使用javascript删除divi联系表中的占位符

html - 为什么这个 100% 的高度不起作用?

javascript - 如何将多个输入框的值保存到本地存储?

javascript - 如何让 ServiceWorker 在缓存重置/Shift+F5 后存活下来?

javascript - Cordova 混合应用程序设计 - Controller