0

オブジェクトの配列を繰り返し処理するのに助けが必要です。変数「props」を正常に反復できますが、「propsObjs」ではできません。

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');
});
});

プロトタイプへのリンクは次のとおりです: http://jsfiddle.net/readrefuse73/dZysP/10/

4

2 に答える 2

2

まず、デリゲート関数は hasとparameters$.eachを反復処理します。したがって、あなたの例では、反復のインデックスを含む整数であり、配列に含まれるオブジェクトです。必要なのは、次のようなものです。indexvaluekeyvalue

$.each(propsObjs, function (index, value) {
    var key = value.name;
    $('#' + key + '-btn').click(function () {
    $(this).toggleClass('inactive-props');
    $('.' + key).toggleClass('hide');
});
于 2013-10-03T09:28:11.953 に答える
0

2 つ目propsObjsは の配列ですobject

オブジェクトプロパティnameにアクセスしてみてください。

$.each(propsObjs, function (index, obj) {
    $('#' + obj.name+ '-btn').click(function () {
    $(this).toggleClass('inactive-props');
    $('.' + obj.name+ ' ').toggleClass('hide');
});
于 2013-10-03T09:28:01.703 に答える