首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择具有特定子元素(Span)的所有div并进行样式设置

选择具有特定子元素(Span)的所有div并进行样式设置
EN

Stack Overflow用户
提问于 2018-10-08 09:19:26
回答 5查看 536关注 0票数 4

我需要选择"display: none"并将其赋予所有具有类.span-targetspanarticles。在这里,我将给你们举一个例子。

我尝试使用remove = document.querySelectorAll('');,但我只能选择它们,并且不知道如何添加它们、display: none或以某种方式删除它们。

请注意,jQuery不是选项

谢谢你的提醒。

这里的例子:

代码语言:javascript
复制
<article class="class-1">
  <div class="class-2">
    <span class="class-3">Example 1</span>
    <div class="class-4 class-41 class-42">
      <div class="class-5 class-51 class-52">
        <div class="class-6 class-61 class-62 class-63">
          <div class="class-7 class-71 class-72 class-73">
            <div class="class-8 class-81 class-82 class-83">
              <span class="span-1">
                <time class="span-2">Sep 26</time>
                <span class="span-3"></span>
                <span class="span-4"></span>
                <span class="span-target">
                  Please leave
                  <span class="span-5">
                  </span>
                </span>
              </span>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</article>

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2018-10-08 09:28:28

您可以迭代选定的元素并向其添加样式。

代码语言:javascript
复制
Array.from(
  document.querySelectorAll('article')
).forEach(el => {
    let shouldHide = el.querySelectorAll('.span-target').length;
    if (shouldHide) {
        el.style.display = "none";
    }
});
票数 3
EN

Stack Overflow用户

发布于 2018-10-08 09:30:34

试试下面的代码片段。

代码语言:javascript
复制
var remove = document.querySelectorAll('*[class^="span-"]');

for (var i = 0; i < remove.length; ++i) {
   remove[i].classList.add('hide');
}
代码语言:javascript
复制
.hide {
   display: none;
}
代码语言:javascript
复制
<article class="class-1">
    <div class="class-2">
        <span class="class-3">Example 1</span>

        <div class="class-4 class-41 class-42">
            <div class="class-5 class-51 class-52">
                <div class="class-6 class-61 class-62 class-63">
                    <div class="class-7 class-71 class-72 class-73">

                        <div class="class-8 class-81 class-82 class-83">
                            <span class="span-1">
                            <time class="span-2">Sep 26</time>
                            <span class="span-3"></span>
                            <span class="span-4"></span>
                            <span class="span-target">Please leave
                            <span class="span-5">
                            </span></span></span></div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</article>

票数 1
EN

Stack Overflow用户

发布于 2018-10-08 09:29:25

您只需遍历元素列表并更新它们的css属性:-

获取元素:

代码语言:javascript
复制
var elements = document.getElementsByClassName("span-target");

循环

代码语言:javascript
复制
for (let ele of elements) {

更新它们的css属性

代码语言:javascript
复制
  ele.style.display = "none";

以下是工作代码:

代码语言:javascript
复制
var elements = document.getElementsByClassName("span-target");
for (let ele of elements) {
  ele.style.display = "none";
}
代码语言:javascript
复制
<article class="class-1">
    <div class="class-2">
        <span class="class-3">Example 1</span>

        <div class="class-4 class-41 class-42">
            <div class="class-5 class-51 class-52">
                <div class="class-6 class-61 class-62 class-63">
                    <div class="class-7 class-71 class-72 class-73">

                        <div class="class-8 class-81 class-82 class-83">
                            <span class="span-1">
                            <time class="span-2">Sep 26</time>
                            <span class="span-3"></span>
                            <span class="span-4"></span>
                            <span class="span-target">Please leave
                            <span class="span-5">
                            </span></span></span></div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</article>

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

https://stackoverflow.com/questions/52699064

复制
相关文章

相似问题

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