javascript - 如何在另一个动态div中的动态li中获取span的第一个值
问题描述
下面是HTML结构
<div class="a">
<ul class="b">
<li class="c">
<span>123</span>
</li>
<li class="c">
<span>345</span>
</li>
<li class="c">
<span>678</span>
</li>
</ul>
</div>
<div class="a">
<ul class="b">
<li class="c">
<span>976</span>
</li>
</ul>
</div>
<div class="a">
<ul class="b">
<li class="c">
<span>234</span>
</li>
<li class="c">
<span>789</span>
</li>
</ul>
</div>
我想在for循环中获取每个动态div的第一个跨度的值。这里的挑战是li也是动态的。一个div内可以有1到4个li。
当我尝试循环时,我得到了所有的跨度值。请提出解决方案提前谢谢!
解决方案
您可以在第一个孩子的选择器中使用querySelectorAll()
和使用nth-child(1)
。
div > ul > li:nth-child(1) > span:nth-child(1)
这里是工作片段
let x = document.querySelectorAll('div > ul > li:nth-child(1) > span:nth-child(1)');
x.forEach(x => console.log(x.innerHTML))
<div class="a">
<ul class="b">
<li class="c">
<span>123</span>
</li>
<li class="c">
<span>345</span>
</li>
<li class="c">
<span>678</span>
</li>
</ul>
</div>
<div class="a">
<ul class="b">
<li class="c">
<span>976</span>
</li>
</ul>
</div>
<div class="a">
<ul class="b">
<li class="c">
<span>234</span>
</li>
<li class="c">
<span>789</span>
</li>
</ul>
</div>
推荐阅读
- c# - 无法统一引用游戏对象的 2D 数组
- html - 我是 html 的初学者,我的代码不起作用
- javascript - 兄弟组件不会在状态更改时重新渲染(使用 useEffect、useState 和 Context)
- swift - 当输入的值大于某个值时如何限制用户输入 Swift 5.1
- php - 在 MYSQL 中搜索拼写错误的单词的最佳方法
- scala - 在 scala 中使用 Spark Structured Streaming 从 kafka 流式传输到 kafka
- javascript - 将 props 传递给子组件时避免组件重新渲染
- cmd - 将所有文件从子文件夹复制到另一个同名的子文件夹 Windows 10
- r - 我应该如何在 R 中删除带有其他字符(例如:100g)的数字
- python - 如何更改 Django 表单显示的默认错误消息