javascript - 如何通过订单号定位弹性项目?

标签 javascript css-selectors flexbox

我需要以编程方式在它们的容器中重新排列我的 flex 项目,但我似乎无法找到如何通过它们的 order 编号来选择它们。问题是它们没有按 DOM 顺序显示,而是使用 order css 属性显示。

How do I rearrange them?

我的 html:

<div id="container">
    <div style="order: 17"></div>
    <div style="order: 25"></div>
    <div style="order: 2"></div>
    <div style="order: 3"></div>
    // ...
</div>

基本上我需要这样做:

| A | B | C | D | E |
       +----------->
     <---+---+---+
result:
| A | C | D | E | B |

最佳答案

所以,我想到了一个稍微滥用 CSS3 选择器的想法,它似乎有效,但我想知道这是否合法

document.querySelector('div[style*="order: 25;"]')

然后要交换两个项目,我需要这样做:

var t = document.querySelector('div[style*="order: 25;"]');
document.querySelector('div[style*="order: 26;"]').style.order = 25;
t.style.order = 26;

关于javascript - 如何通过订单号定位弹性项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30880286/

相关文章:

javascript - 样式复选框

html - 使用 flex 方向列时如何将 div 水平居中对齐

html - 在 Flexbox 中居中不起作用。什么是高度、宽度、显示和位置要求?我错过了什么?

html - :not(:empty) CSS selector is not working?

javascript - 每个 child jQuery 加起来 margin+10

css - Flexbox 不适用于 Safari 9.1.1

javascript - 触发 Backbone 模型变更事件的正确方法

javascript - 如何在 openlayers3 中指定 GeoJSON 的投影?

javascript - 如何为 extjs hbox 布局设置自动高度?

css - 是否有 CSS 父级选择器?