代码之家  ›  专栏  ›  技术社区  ›  Codemonkey

是否可以(有效地)在JavaScript中获得具有特定CSS属性集的元素列表?

  •  1
  • Codemonkey  · 技术社区  · 3 年前

    我知道我们可以使用 document.querySelectorAll(yada yada yada) 获取与任何CSS匹配的元素列表 选择器 ,但有没有可能从另一个角度来看待这个问题,并将任何元素与某个CSS匹配 所有物 ?

    我已经编写了一个函数,可以将任何flex wrap容器收缩到正确的大小,而不会出现当前CSS所指的右侧丑陋的间隙。(此外:在即将发布的规范中有什么东西可以解决这个问题吗?)

    我希望它能在我网站上的任何柔性包装容器上自动运行。

    我不想添加 class="flex-wrap" 到每个元素。我知道这些天顺风等都是关于这类课程的,但我是老派。我相信设计/内容的分离,类/ID应该是语义的,而不是风格的。

    但对于这个“问题”,我能看到的唯一解决方案是:

    1. 手动添加元素的ID/类,我知道这些元素需要在我的JavaScript中进行修复
    2. 添加一个类 querySelectorAll 可以锁定到
    3. 循环调用每个元素 getComputedStyles() 以检查此CSS属性。我没有尝试过,因为我的一些页面有成千上万的DOM元素,我知道这是一个糟糕的想法。

    还有我没有考虑过的更好的第四种选择吗?

    0 回复  |  直到 3 年前