Javascript slice() 不是我的 li 元素列表的函数
Javascript slice() is not a function with my list of li elements
如何将以下 jquery 转换为 javascript?
iElement.children('li')
.css({ "background": "#DDD" })
.slice(0, 1)
.css({ "background": c.col });
IElement.children('li')
returns 以下内容:
[li.point, li.point, li.point, li.point, li.point]
其中 iElement
是 ul
。
问题来自 slice()
。 iElement 是一个对象数组,但我收到一条错误消息,指出 whatever.slice()
不是函数
我正在尝试为我的 angularjs 应用编写密码强度指令。
你得到这个异常是因为你试图通过 nodeList
调用 Array
方法(.slice()
),这不是一个array
.
您必须将此 nodeList
视为 array
,您可以:
- 要么将其转换为
Array.from()
调用
.slice()
. 之前的方法
- 或者这样称呼:
Array.prototype.slice.call(IElement.children('li'));
似乎只是将第一个元素设置为不同的颜色:
elements = document.querySelectorAll('ul#iElement > li')
c = { col:'#ABC' }
for (var i = 1; i < elements.length; i++)
elements[i].style.background = '#DDD'
if (elements[0]) elements[0].style.background = c.col
<ul id='iElement'>
<li> 1 </li>
<li> 2 </li>
<li> 3 </li>
<li> 4 </li>
</ul>
如何将以下 jquery 转换为 javascript?
iElement.children('li')
.css({ "background": "#DDD" })
.slice(0, 1)
.css({ "background": c.col });
IElement.children('li')
returns 以下内容:
[li.point, li.point, li.point, li.point, li.point]
其中 iElement
是 ul
。
问题来自 slice()
。 iElement 是一个对象数组,但我收到一条错误消息,指出 whatever.slice()
不是函数
我正在尝试为我的 angularjs 应用编写密码强度指令。
你得到这个异常是因为你试图通过 nodeList
调用 Array
方法(.slice()
),这不是一个array
.
您必须将此 nodeList
视为 array
,您可以:
- 要么将其转换为
Array.from()
调用
.slice()
. 之前的方法
- 或者这样称呼:
Array.prototype.slice.call(IElement.children('li'));
似乎只是将第一个元素设置为不同的颜色:
elements = document.querySelectorAll('ul#iElement > li')
c = { col:'#ABC' }
for (var i = 1; i < elements.length; i++)
elements[i].style.background = '#DDD'
if (elements[0]) elements[0].style.background = c.col
<ul id='iElement'>
<li> 1 </li>
<li> 2 </li>
<li> 3 </li>
<li> 4 </li>
</ul>