JavaScript待办列表数组渲染为何出现逗号?技术咨询
为什么待办列表项之间会出现逗号?
嘿,这个问题我太熟啦!其实是JavaScript数组转字符串的默认行为在搞鬼~
你看,当你直接把todoArray赋值给innerHTML的时候,JavaScript会自动把数组转换成字符串。而数组转字符串的默认规则是用逗号分隔每个元素,所以你数组里的每个<li>字符串就被逗号硬生生连起来了,反映到页面上就是列表项之间多了那些烦人的逗号。
解决方法超简单:用join('')拼接数组元素
把你代码里的这一行:
document.getElementById("todoListUL").innerHTML = todoArray;
改成:
document.getElementById("todoListUL").innerHTML = todoArray.join('');
join('')方法会把数组里的所有元素拼接成一个单独的字符串,并且用你指定的分隔符(这里是空字符串)连接,这样就彻底去掉逗号啦。
额外给个小建议
其实你也可以不用数组存储每个<li>字符串,每次新增项的时候直接把新的<li>追加到innerHTML后面,比如:
document.getElementById("todoListUL").innerHTML += appendTemp;
这样也能实现需求,不过用数组存储再统一拼接的方式,在需要批量修改或者回显列表时会更灵活哦~
内容的提问来源于stack exchange,提问作者J. Doe
相关产品推荐
相关产品推荐

