javascript - 查询选择器到数组
问题描述
我有这个 html 页面(在 body 标签内)->
<div class="todo-container">
<ul class="todo-list">
<div class="todo">
<li>Iteasm</li>
</div>
<div class="todo">
<li>Iteasm</li>
</div>
<div class="todo">
<li>Iteasm</li>
</div>
<div class="todo">
<li>Item</li>
</div>
<div class="todo">
<li>Item</li>
</div>
<div class="todo">
<li>Item</li>
</div>
<div class="todo">
<li>Item</li>
</div>
</ul>
</div>
我正在尝试查询选择 .todo-list 并希望将 innerText 转换为数组。我尝试了这里告诉的内容, 但没有工作->
const nodelist = document.querySelector('.todo-list').innerText;
const nodelistToArray = Array.prototype.slice.call(nodelist);
console.log(nodelistToArray);
但是我在控制台中得到了这个->
["I", "t", "e", "a", "s", "m", "↵", "I", "t", "e", "a", "s", "m", "↵", "I", "t", "e", "a", "s", "m", "↵", "I", "t", "e", "m", "↵", "I", "t", "e", "m", "↵", "I", "t", "e", "m", "↵", "I", "t", "e", "m"]
其实我想要这样的东西->
["Iteasm", "Iteasm", "Iteasm"]
任何想法 ??谢谢 !!!
解决方案
改为使用querySelectorAll
,并且Array.from
:
console.log(
Array.from(
document.querySelectorAll('.todo > li'),
li => li.textContent
)
);
<div class="todo-container">
<ul class="todo-list">
<div class="todo">
<li>Iteasm</li>
</div>
<div class="todo">
<li>Iteasm</li>
</div>
<div class="todo">
<li>Iteasm</li>
</div>
<div class="todo">
<li>Item</li>
</div>
<div class="todo">
<li>Item</li>
</div>
<div class="todo">
<li>Item</li>
</div>
<div class="todo">
<li>Item</li>
</div>
</ul>
</div>
推荐阅读
- ios - 为什么存档中缺少我的 swift 应用程序图标
- flutter - Flutter - 使用 GestureDetector 在两个图像之间切换
- amazon-web-services - ECS 任务定义部署中的多个容器与 github 操作
- javascript - 如何从 SVGTransform 对象中读取比例值?
- assembly - 使用 nasm 和 qemu 运行引导加载程序的问题
- javascript - 我想交替、重复、单击或检查
- javascript - 悬停在边距
- reactjs - 我想将反应开发工具添加到 Safari 浏览器
- python - 在 Python 中将数组传递给 SQL 查询
- firebase - Crashlytics NDK 如何启用本地符号上传