【发布时间】:2021-04-12 20:37:43
【问题描述】:
我有一个数组arrayDescr,我需要使用forEach 为每个<li> 添加一个属性data-value。 data-value 的值应该是 arrayDescr 元素。例如,我有三个<li>,我有两个arrayDescr 元素。三个<li> 中的两个应该具有data-value arrayDescr[0]、[1] 等属性。
此代码有效,但我需要它在 forEach 中工作:
$("#name1").attr("data-value", arrayDescr[0])
#name 应该是 function(){return 'name' (i+1)}。
在 forEach 中,此代码返回 undefined:
arrayDescr.forEach(function(item, index){
$("li").attr("data-value", item[index])}
【问题讨论】:
-
@RyanWilson 我需要一个数组元素,而不是整个数组都在数据值中
-
在您的
.forEach中,函数参数item是数组的一项,这就是为什么您会被这个item[index]定义为undefined -
@RyanWilson arrayDescr.forEach(function(item, index){ $("#responseul").append("
- 名称:" + item + "
");});此代码有效并按顺序使用数组的每个元素创建每个 li。但是当我使用没有 [index] 的项目时,它会给我 undefined 并设置属性值 3 -
很好,这是否意味着您解决了自己的问题?
-
由于某种原因,项目仅在我附加 li 时才能正常工作,而不是当我将项目设置为属性值时