javascript - 如何进一步破坏所有以父类开头的变量集?

标签 javascript

我有一组解构变量,它们都具有相同的父类。有没有办法从每个中删除“hollow-gallery-01”并将其添加到解构过程中?

 const [modal,ctrls,slides,close,images,arrows] =
            [
                document.querySelector('.hollow-gallery-01 .modal'),
                document.querySelectorAll('.hollow-gallery-01 .control'),
                document.querySelectorAll('.hollow-gallery-01 .slide'),
                document.querySelector('.hollow-gallery-01 .close'),
                document.querySelectorAll('.hollow-gallery-01 .img-wrap'),
                document.querySelectorAll('.hollow-gallery-01 .arrow')
            ]

最佳答案

你可以做

const [[modal], ctrls, slides, [close], images, arrows] = ["modal", "control", "slide", "close", "img-wrap", "arrow"].map(sel =>
    document.querySelectorAll(".hollow-gallery-01 ." + sel)
);

减少重复。

<小时/>

也就是说,更好、更有效的方法(正如其他答案所建议的那样)是在父元素上使用选择器,而不是 document:

const gallery = document.querySelector('.hollow-gallery-01');
const modal = gallery.querySelector('.modal'),
      ctrls  = gallery.querySelectorAll('.control'),
      slides = gallery.querySelectorAll('.slide'),
      close = gallery.querySelector('.close'),
      images = gallery.querySelectorAll('img-wrap'),
      arrows = gallery.querySelectorAll('arrow');

关于javascript - 如何进一步破坏所有以父类开头的变量集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55799724/

相关文章:

php - 停止在网页开始/结束时跳动 (OS X)

javascript - 在 Node 脚本中加载预编译的 Handlebars 模板?

javascript - Semantic-UI React 复选框状态不起作用

javascript - 嘿,我正在尝试将 2 个条件放在一个 if 语句中。一个用 Javascript,一个用 PHP

javascript - 正则表达式:如何从 '+key:value+key2:"value+value"+' 中提取键和值?

javascript - 如何在AWS lambda中使用nodejs进行sql查询?

javascript - 如何使用格式化字符串访问 JavaScript 对象中的 SUB 属性?

javascript - TypeScript/Electron.js 中的导入问题

java - 检测未安装的 java 并提供来自 Javascript 的链接

javascript - 无法在 Backbone 集合中获取 JSON