javascript - 如何使用 jQuery 创建具有唯一高度的数组和 div?

标签 javascript jquery arrays dom-manipulation

我的图表需要 100 个小 div,每次生成它们时,它们都显示为相同的高度;数组的最后一个值。

var valuesG = new Array(100);
for (i = 0; i < valuesG.length; i++ ) {
    valuesG[i] = Math.floor(Math.random() * 101);   
    $("#second").append("<div class='single'></div>");
    $(".single").css('height', valuesG[i])
}

知道为什么会这样吗?

最佳答案

您在每次迭代中将新高度应用于所有 .single 元素。在最后一次迭代中,它们最终具有相同的高度。

你可以这样做:

$('<div class="single">')
    .css('height', valuesG[i])
    .appendTo($('#second'));

还有,你的代码效率不是很高,看看这个:

    var valuesG = [], //array literal
        $elements = $(); //empty jQuery object

    for (var i = 0; i < 100; i++) { //we don't have to query array length each iteration
        valuesG[i] = Math.floor(Math.random()*101); 

        //collect the elements into a jQuery object
        $elements = $elements.add($('<div class="single">').css('height', valuesG[i]));
    }

    $elements.appendTo($("#second")); //insert to DOM once - much quicker

jsFiddle Demo

关于javascript - 如何使用 jQuery 创建具有唯一高度的数组和 div?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8443823/

相关文章:

javascript - 页面加载时 Angular 过滤器和打开 Accordion 的问题

javascript - JQuery 数据表不工作

javascript - Google Directions API 返回不同的 waypoint_order 和路段

java - 从数组中删除重复的字符串?

c++ - 在 C++ 中反转数组的顺序

c++ - 动态分配数组中的一个值总是打印垃圾值

javascript - Polymer - 绑定(bind)值中的格式日期

javascript - 确定何时以 HTML 加载图像?

javascript - 下拉选择标签中的选项值

javascript - 如何将 InMemoryUploadedFile 上传到我的 S3 存储桶?