jQuery使用if语句中的数组数据
jQuery using array data within an if statement
我正试图了解jQuery中的数组。让我们以下面的场景为例。我有一组数据,像这样:
var myVariable = [
'key1' : 'value1',
'key2' : 'value2',
'key3' : 'value3',
'key4' : 'value4'
]
这里有一个元素列表:
<ul id="elem">
<li class="key1">Item 1</li>
<li class="key2">Item 2</li>
<li class="key3">Item 3</li>
<li class="key4">Item 4</li>
</ul>
如果在数组中标识了类,然后替换文本内容,我将如何创建一个if statement
来运行每个元素所以最终输出应该是:
<ul id="elem">
<li class="key1">key1</li>
<li class="key2">key2</li>
<li class="key3">key3</li>
<li class="key4">key4</li>
</ul>
我尝试过以下方法,但似乎不起作用。
$('#elm li').each(function (index) {
$(this).text(myVariable[index]);
});
我意识到JS中没有关联数组,但我并不真正理解它是如何工作的。
请给我指正路。谢谢
单向:
$("#elem li").text(function(i, text) {
return this.className in myVariable
? myVariable[this.className] : text;
});
另一种方式:
$.each(myVariable, function(key, value) {
$("#elem li." + key).text(value);
});
注意:在JavaScript中,带有非数字键的数组是对象,应该用{}
包围,而不是像普通数组那样用[]
包围。
试试这个。。。
var myVariable = {
'key1' : 'value1',
'key2' : 'value2',
'key3' : 'value3',
'key4' : 'value4'
};
$("#elem li").text(function() {
return myVariable[this.className] == '' ? this.text(): myVariable[this.className];
});
在这里工作附言:我知道它和第一个答案相似,但我在发布这个答案后看到了:(
$( '#elm li').each( function() {
var text = myVariable[ $( this ).className ] ? myVariable[ $( this ).className ] : '';
$( this ).text( text );
});
相关文章:
- JSON数组数据返回Undefined
- 具有关联数组数据集的D3.js表
- TinyMCE获取数组数据
- Emberjs#每个循环不处理数组数据
- 使用Angular.js访问php数组数据
- 数组数据排序类似mysql查询
- 在Redux中映射对象数组数据
- jqGrid - 搜索本地数组数据
- 如何在不赋值数组变量的情况下读取数组数据
- 停止 jQuery 自动完成以过滤/搜索结果并填充整个源数组数据
- 如何在 AngularJS 中从 API 访问数组数据
- JQuery - 根据数组数据将 html 表列添加到表的末尾
- 如何将json格式的数组数据从jquery返回到html
- 异步循环使用递归:如何访问推送数组数据
- Node.js对象数组数据联接
- 序列promise链与数组数据,如何解析promise链
- 如何加速getJSON数组数据
- PHP同时循环数组数据显示到javascript中
- 流星:显示数组数据,因为表在添加新列时给出了重复值
- 数组数据不会显示在表中