jQuery将键值对添加到空对象

VID*_*gnz 3 javascript arrays jquery object

在jQuery中,我可以为元素添加多个属性,如此...

var input = $('<input/>').attr({ type : 'text', value : 'New Value'});
Run Code Online (Sandbox Code Playgroud)

我的问题是,我怎样才能使用像这样的变量实现这个目标......

var input = $('<input/>').attr(inputAttr);
Run Code Online (Sandbox Code Playgroud)

我假设inputAttr应该是一个对象,我可以添加到该对象.我一定是弄错了.这是我实现这一目标的众多尝试之一.

var inputAttr = {};
inputAttr.add({ type: 'text' });
inputAttr.add({ value : 'New Value' });
Run Code Online (Sandbox Code Playgroud)

我也试过这样......

var inputAttr = {};
inputAttr.add('type: text');
inputAttr.add('value : New Value');
Run Code Online (Sandbox Code Playgroud)

我想也许inputAttr应该是一个数组,它似乎输出一个正确的字符串,但不知道如何使它成为一个对象(我认为它应该是).

var inputAttr = [];
inputAttr.push('type: text');
inputAttr.push('value : New Value');

// Then added object brackets like so
var input = $('<input/>').attr({inputAttr});
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激!先感谢您!

Gon*_*ing 10

只需按名称访问对象属性.它不是一个数组.

var inputAttr = {};
inputAttr.type = 'text';
inputAttr.value = 'New Value';

var input = $('<input/>').attr(inputAttr);
Run Code Online (Sandbox Code Playgroud)

如果你想通过键间接访问它们,它就像一个字典:

var inputAttr = {};
inputAttr["type"] = 'text';
inputAttr["value"] = 'New Value';
Run Code Online (Sandbox Code Playgroud)


Reg*_*ent 7

object可以通过以下方式设置键值:

var inputAttr = {};
inputAttr.type = 'text';
inputAttr.value = 'New Value';
Run Code Online (Sandbox Code Playgroud)

小提琴.