-2

我有这样的对象

var obj = {
   option1 : {
     title : "string", 
     options : {}
   },
   option2 : {
     title : "string", 
     options : {}
   },
   option3 : {
     title : "string", 
     options : {}
   },
   option4 : {
     title : "string", 
     options : {}
   }
}

我正在尝试根据 html 节点的索引获取标题

$("#id div").each(function(){
   $(this).html(obj.["option" + ($(this).index() + 1)].title);
})
4

1 回答 1

2
$(this).html(obj.["option" + ($(this).index() + 1)].title);
//              ^ Get rid of this

所以你想要这个:

$(this).html(obj["option" + ($(this).index() + 1)].title);

方括号语法是点语法的替代方法。您使用其中一个,而不是两者都使用。规范中调用表达式的语法清楚地表明了这一点:

CallExpression :
    MemberExpression 参数
    CallExpression 参数
    CallExpression [ 表达式 ]
    CallExpression . IdentifierName

于 2013-06-23T08:11:41.463 回答