ports_dic не является словарем, и вы не создаете span_element, вместо этого вы назначаете "console.log ()" для переменной span_element.Пожалуйста, проверьте перед отправкой
<script>
var ports_dic = {"1/1/12":[16, 17, 18, 19, 20]};
function loop_ports(){
var n_list = document.value = ports_dic["1/1/12"]
for (var i = 0; i < n_list.length; i++){
var span = document.createElement("SPAN");
span_element = console.log(n_list[i]);
span.appendChild(span_element);
document.getElementById("onu_tags").appendChild(span);
};
}
</script>
<body onload="loop_ports()">
<div id="onu_tags" class="tags">
</div>
</body>
var ports_dic = {"1/1/12":[16, 17, 18, 19, 20]};
function loop_ports(){
var n_list = document.value = ports_dic["1/1/12"]
for (var i = 0; i < n_list.length; i++){
var span = document.createElement("SPAN");
var span_element = document.createTextNode(n_list[i]);
span.appendChild(span_element);
document.getElementById("onu_tags").appendChild(span);
};
}
<body onload="loop_ports()">
<div id="onu_tags" class="tags">
</div>
</body>