首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用javascript选择区段标记中的所有div?

如何使用javascript选择区段标记中的所有div?
EN

Stack Overflow用户
提问于 2019-09-02 06:15:32
回答 3查看 1.6K关注 0票数 1

我在用javascript做一个基于转弯的游戏。我想把球员从迪夫调到迪夫。我已经使用queryselectorall将所有的div放在一个部分中,然后放到一个数组中。现在我的问题是,我也有另一个div我想要使用,我不能单独选择它们。有人能告诉我如何只选择一些div吗?我见过像section>div这样的东西来区分它们,但这对我不起作用。

我尝试在rollDice、zar1和zar2上用span替换div,但是这样做会中断一些CSS。

代码语言:javascript
复制
~
<div class="rollDice">Roll the dice</div>
<div class="zar1">
    <img src="poze/dice-5.png" alt="Dice" class="dice" id="dice-1" style="width:150px">
</div>

<div class="zar2">
    <img src="poze/dice-5.png" alt="Dice" class="dice2" id="dice-2"  style="width:150px">
</div>


<section class="mutari">
    <div class="nr1 mutabil"><h1>1</h1></div>
    <div class="nr2 mutabil"><h1>2</h1></div>
    <div class="nr3 mutabil"><h1>3</h1></div>
</section>
~

我只想从部分中选择div。在那之后,我想选择前3个div。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-09-02 07:11:07

你要找的是:

代码语言:javascript
复制
document.querySelectorAll('section > div:nth-child(-n+3)')

section ( 类型选择器)找到你的<section>。如果您有更多的节元素,您可以使用section.mutari来更精确地(使用类选择器)。

> div选择直接属于该部分的所有<div>标记。>子组合器

:nth-child(-n+3)是一个伪类,它将其限制为只选择前三个元素,而不是所有元素。在您的示例中不需要它,因为您只有三个div;但是如果您有更多的,这将只给您前三个。

票数 1
EN

Stack Overflow用户

发布于 2019-09-02 06:18:05

document.body.childNodes

只需将document.body替换为HTML元素即可。在此之后,您可以通过列表进行筛选,您将得到一个select all div。

如果您想获得所有的div,也可以使用以下方法:

代码语言:javascript
复制
var dh = document.body.getElementsByTagName('div');
票数 1
EN

Stack Overflow用户

发布于 2019-09-02 06:26:47

获取所有div节点:

使用document.body.getElementsByTagName('div')

获取过滤的div节点:

document.body.childNodes获取数组。

通过使用for循环和if条件进行筛选。

条件示例:使用类似于node[i].nodeNamenode[i].id

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57752177

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档