Javascript 敲除js$index()似乎不起作用
我正在使用下面的代码打印div的id。但是$index()似乎不起作用Javascript 敲除js$index()似乎不起作用,javascript,knockout.js,Javascript,Knockout.js,我正在使用下面的代码打印div的id。但是$index()似乎不起作用 <div data-bind="foreach: itemRows"> <div class="fruitList" data-bind="foreach: $data"> <div data-bind="attr: { 'id': 'uniqueName_' + $index() }"> <
<div data-bind="foreach: itemRows">
<div class="fruitList" data-bind="foreach: $data">
<div data-bind="attr: { 'id': 'uniqueName_' + $index() }">
<img data-bind="attr: { src: $data }" />
</div>
</div>
</div>
任何建议
更新:
呈现的HTML具有以下特性
<div id="uniqueName_NaN" data-bind="attr: { 'id': 'uniqueName_' + ($parent.index +
$data.index) }">
身份证没有出现。。我遗漏了什么吗?应该是$index,所以没有()
如果要使用两个循环中的索引,则需要访问父上下文。索引存储在上下文对象中,而不是
$data
中
<div data-bind="foreach: itemRows">
<div class="fruitList" data-bind="foreach: $data">
<div data-bind="attr: { 'id':
'uniqueName_' + $parentContext.$index() + '_' + $index() }">
<img data-bind="attr: { src: $data }" />
</div>
</div>
</div>
由于您的文件位于嵌套的foreach中,因此可能需要父文件的索引。尝试使用“uniqueName”+$parent.index+'+$data.indexi我无法在html中看到id
我也尝试过,现在呈现的div没有id attr only您是否收到任何javascript错误?您的评论中的id键缺少引号。此答案错误$index
是可观察的,因此必须使用函数语法进行访问。如果您想从外部循环获取索引,那么它将是$parentContext.$index()
您的id生成代码应该可以使用:data bind=“attr:{'id':'uniqueName_'+$index()}”
。在数据绑定中,呈现的HTML与原始HTML不匹配,这是您的问题。您有可能接受我给出的答案吗?
<div data-bind="foreach: itemRows">
<div class="fruitList" data-bind="foreach: $data">
<div data-bind="attr: { 'id':
'uniqueName_' + $parentContext.$index() + '_' + $index() }">
<img data-bind="attr: { src: $data }" />
</div>
</div>
</div>