我需要帮助迭代一组对象。 我可以通过变量'道具'成功迭代,但我不能用'道具Objs'。
var props = {
'dog':'true',
'cat':'true',
'mouse':'true'
};
var propsObjs = [
{name:'dog', state:'true'},
{name:'cat', state:'true'},
{name:'mouse', state:'true'}
];
$.each(propsObjs, function (key, value) {
$('#' + key + '-btn').click(function () {
$(this).toggleClass('inactive-props');
$('.' + key + ' ').toggleClass('hide');
});
});
答案 0 :(得分:2)
首先,委托函数$.each
迭代有index
和value
个参数。因此,在您的示例中,key
是包含迭代索引的整数,value
是数组中包含的对象。你需要的是更像这样的东西:
$.each(propsObjs, function (index, value) {
var key = value.name;
$('#' + key + '-btn').click(function () {
$(this).toggleClass('inactive-props');
$('.' + key).toggleClass('hide');
});
答案 1 :(得分:0)
第二个propsObjs
是object
的数组。
因此尝试访问对象属性name
会帮助您
$.each(propsObjs, function (index, obj) {
$('#' + obj.name+ '-btn').click(function () {
$(this).toggleClass('inactive-props');
$('.' + obj.name+ ' ').toggleClass('hide');
});