在空ul中插入

时间:2019-03-10 19:13:46

标签: javascript appendchild

我有一个不错的,有效且实用的待办事项清单。但是,实际上(在手机上使用),添加到列表中的新项目会被键盘隐藏。因此,我想让列表将每个项目添加到列表的开头或顶部,以便在创建新项目时看到它们。

输入“ insertBefore()”,只要之前有一个孩子要插入,它就可以正常工作,否则会引发错误。

如何处理空白列表?只是执行“如果没有子元素,请执行此操作-否则-那样做”还是该过程有一个简单的补充?

Task.Run

1 个答案:

答案 0 :(得分:1)

  

所以我想让列表将每个项目添加到列表的开头或顶部...

信不信由你,这很简单:

myUl[0].insertBefore(listItem, myUl[0].firstChild);

如果myUl[0]为空(因此其firstChildnull)很好。 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