我有一个不错的,有效且实用的待办事项清单。但是,实际上(在手机上使用),添加到列表中的新项目会被键盘隐藏。因此,我想让列表将每个项目添加到列表的开头或顶部,以便在创建新项目时看到它们。
输入“ insertBefore()”,只要之前有一个孩子要插入,它就可以正常工作,否则会引发错误。
如何处理空白列表?只是执行“如果没有子元素,请执行此操作-否则-那样做”还是该过程有一个简单的补充?
Task.Run
答案 0 :(得分:1)
所以我想让列表将每个项目添加到列表的开头或顶部...
信不信由你,这很简单:
myUl[0].insertBefore(listItem, myUl[0].firstChild);
如果myUl[0]
为空(因此其firstChild
为null
)很好。 insertBefore
足够聪明(可以有效地成为appendChild
来处理)。
旁注:而不是:
var myUl = document.getElementsByTagName("ul");
...然后在各处使用myUl[0]
,您可能会考虑以下一种:
var myUl = document.querySelector("ul"); // returns the first one
或
var myUl = document.getElementsByTagName("ul")[0];
...然后仅使用myUl
。