我不确定我的标题是否清楚,但让我们看一下。
我li
在一个列表中有 2 个元素ul
,我希望当我单击 ali
时,获取 的文本,li
然后基于phones
变量创建一个对象。
示例:当我单击 NEXUS 时,在我的控制台中获取一个带有属性的 Phone 对象:
models: ['5', '6', '5X', '6P'];
不幸的是,我无法将构造函数名称传递给函数的返回setConstructor()
。{}
我试图用and编写“模型名称” ()
,但代码根本没有执行。
我怎样才能做到这一点?
var phones = {
NEXUS: {
name: 'Nexus',
models: ['5', '6', '5X', '6P']
},
IPHONE: {
name: 'iPhone',
models: ['5', '5S', '6', '6S']
}
};
var lastConstructorClicked = {};
var output = {};
function Phone(constructorModels) {
this.models = constructorModels;
this.getModels = function () {
return this.models;
};
}
function setConstructor(modelname) {
return phones.modelname.models;
}
$("a[id^='show-models-']").click(function() {
lastConstructorClicked = $(this).text();
console.log(lastConstructorClicked);
output = new Phone(setConstructor(lastConstructorClicked));
});
console.log(output);
<ul class="dropdown-menu">
<li><a href="#" id="show-models-iphone">IPHONE</a></li>
<li><a href="#" id="show-models-nexus">NEXUS</a></li>
</ul>