由Jquery设置时,Css顺序属性不会更新

时间:2016-05-17 17:51:19

标签: javascript jquery css css3

在像这样渲染的dom上更新元素的order属性后,html元素无法重新排序。

$(".test").css('order', '0');

这是一个已知问题吗?

编辑:是的,容器具有以下css属性:

display: flex;
flex-direction: column;
overflow-y: overlay;
overflow-x: hidden;
position: relative;

编辑:小提琴演示错误https://jsfiddle.net/me6g30ur/

我的代码:

$(".update").on("click", function() {
    for (var i = 0; i < $(".child").length; i++) {
      $(".child").css("order", Math.floor(Math.random * 100));
    }

  });

1 个答案:

答案 0 :(得分:0)

你的代码有两个问题(来自你的小提琴)

  1. Scrapyd是一项功能,因此您需要执行Math.random

  2. 您需要选择要更新的子元素。您可以使用Math.random()选择器

  3. 最终代码:https://jsfiddle.net/me6g30ur/3/

    :eq(index)

    旁注:

    最好使用jquery的 $(".update").on("click", function() { for (var i = 0; i < $(".child").length; i++) { var order = Math.floor(Math.random() * 100); $(".child:eq(" + i + ")").css("order", order); } }); 循环而不是for循环,这会导致查询次数减少。

    然后在循环内你可以.each