javascript - 设置 div 以显示数组

标签 javascript arrays

我试图将数组设置为脚本创建的 div 的内部 HTML,以便在排序函数的每一步中显示数组。我正在得到

Cannot set property 'innerHTML' of null.

arr 是数组的名称。

这是我正在使用的代码:

function bubbleSort(arr){
    var swapped,
        container = document.getElementById("container"),
        o = 0;
    console.log("entered bubbleSort");
    do {
        swapped = false;
        for (var i=0; i < arr.length-1; i++) {
            console.log(arr);
            o + 1;
            container.innerHTML += '<div id = "div"+ o></div>';
            document.getElementById("div" + o).innerHTML = arr[i];
            if (arr[i] > arr[i+1]) {
                var temp = arr[i];
                arr[i] = arr[i+1];
                arr[i+1] = temp;
                swapped = true;
            }
        }
    } while (swapped)
}

最佳答案

这样创建新元素:

var newDiv = document.createElement("div");
newDiv.id = "div"+o;
container.appendChild(newDiv);
document.getElementById("div" + o).innerHTML = arr[i];

编辑: 其实你只是有一个错字。参见 RobG 评论。此方法只是更高效,并且不会删除以前绑定(bind)的事件。

一个正在运行的 JSFiddle:link

关于javascript - 设置 div 以显示数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43729366/

相关文章:

javascript - 使用d3根据索引优雅地执行不同的操作

javascript - 如何在javascript中将日期一种格式转换为另一种格式?

javascript - Chart.js 折线图中最后 3 小时数据值的总和

c - 如何在 C 中管理动态字符串数组

c - 如何将 float 存储在数组中以供以后使用?

c# - C# 如何用从一个文本框中输入的值填充数组

javascript - angular-ui-router 在浏览器中的多个选项卡之间共享状态

javascript - 将 javascript 字数统计变量值作为隐藏字段值传递

python - 将元组中的列表转换为numpy数组?

python - 等价于 Python 中的 Ruby nil 数组