Javascript slice()不是我的li元素列表的函数

jae*_*nix 3 javascript arrays object nodelist angularjs

如何将以下jquery转换为javascript?

iElement.children('li')
.css({ "background": "#DDD" })
.slice(0, 1)
.css({ "background": c.col });
Run Code Online (Sandbox Code Playgroud)

IElement.children('li') 返回以下内容:

 [li.point, li.point, li.point, li.point, li.point]
Run Code Online (Sandbox Code Playgroud)

这里iElement是一个ul.

问题来自于slice().iElement是一个对象数组,但我得到一个错误,说这whatever.slice()不是一个函数

我正在尝试为我的angularjs应用程序编写密码强度指令.

cнŝ*_*ŝdk 7

你得到这个例外,因为你试图调用一个Array方法(.slice())nodeList而不是一个方法array.

您必须将此nodeList视为一种array,您可以:

  • 在调用之前用Array.from()方法转换它 .slice().
  • 或称之为: Array.prototype.slice.call(IElement.children('li'));