【问题标题】:Web-Inspector: How can I find a DOM-Element in the hierarchy that sets a background-color?Web-Inspector:如何在层次结构中找到设置背景颜色的 DOM 元素?
【发布时间】:2016-09-30 08:05:08
【问题描述】:

是否有任何功能或扩展允许使用任何浏览器的 Web-Inspector 查找样式元素,例如 DOM 层次结构中的背景颜色?

让我们考虑一个可能如下所示的 DOM 树:

.div3 {
  background-color: green;
}
<div class="div0">
  <div class="div1">
    <div class="div2">
      <div class="div3">
        <div class="div4">
          <div class="div5">
            <div class="div6">
              <div class="div7">
                <div class="div8">
                  Some Text
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>
                

元素选择工具将选择 .div8。现在您必须上树并手动搜索设置绿色的第一个 div。有没有可用的树搜索?例如找到第一个在树上应用样式“背景颜色”的 div?搜索框仅查找应用于当前 DOM 元素的样式。

【问题讨论】:

  • 你能解释一下为什么你有这样的要求吗?我只是想知道。
  • 在一个复杂的网站(或网络应用程序)中,有大量具有特定样式的 DOM 元素。可能是颜色、溢出或任何其他样式。在开发时,您可能想知道谁在应用溢出:隐藏到某些 div(并使事情看起来很奇怪)。应用了许多样式,因此眼睛“调试”可能需要一些时间才能找到这些容器。
  • 我认为仅使用 web-inspector 是不可能的。

标签: html css dom web-inspector


【解决方案1】:

选择所有父元素,循环它们并检查background-color。在 web 检查器中在console 标签中编写代码

$(document).ready(function() {
  var parents = $('.div8').parents();

  $.each(parents, function() {
    if ($(this).css('background-color') != 'transparent' && $(this).css('background-color') != 'rgba(0, 0, 0, 0)') {
      console.log($(this).attr('class') + ':' + $(this).css('background-color'));
      return false;
    }
  });
});
.div3 {
  background-color: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="div0">
  <div class="div1">
    <div class="div2">
      <div class="div3">
        <div class="div4">
          <div class="div5">
            <div class="div6">
              <div class="div7">
                <div class="div8">
                  Some Text
                </div>
              </div>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

【讨论】:

  • 你的输出给了我div7而不是div3 - 不知道为什么要诚实。
  • 感谢您的回答。但我不是在寻找 javascript 解决方案。我知道如何使用 javascript(和 jquery)来做到这一点。我想使用 web-inspector 找到这样的元素(无需编写代码)。可能有我到目前为止错过的扩展或功能。
  • @SuperNova 你要求功能 - 你得到了功能。
  • 您可以单击层次结构中的每个父级并检查computed 选项卡吗?
  • 修复了返回 rgba(0, 0, 0, 0) 而不是 transparent 的 Chrome 错误
猜你喜欢
  • 2011-08-31
  • 1970-01-01
  • 2016-04-09
  • 2018-02-09
  • 2021-11-29
  • 1970-01-01
  • 2011-10-24
  • 2012-08-20
相关资源
最近更新 更多