使用arrays
时,您可以使用.push
方法向阵列动态添加新值。使用对象时是否可以这样做?
例如我有一个文本框,在用户输入内容后点击“添加”可以将值添加到对象中,以便保存每个值,例如
示例:
{
message: "This is the first message",
message: "This is the second message",
message: "Third message etc"
}
代码:
$(document).ready(function() {
// var objArray = [];
var objObject = {};
$('#icecream').on('click', function() {
$(this).animate({'height': '200px'}, 300);
});
$('#add').on('click', function() {
var value = $('#icecream').val();
// objArray.push(value);
// console.log(objArray);
objObject = {
message: value,
}
console.log(objObject);
});
});
答案 0 :(得分:2)
{
message: "This is the first message",
message: "This is the second message",
message: "Third message etc"
}
这不是一个有效的对象。您不能拥有相同的属性三次(密钥必须是唯一的。)您可能需要一个数组:
var messageObj = {
messages: [
"This is the first message",
"This is the second message",
"Third message etc"
]};
添加新消息将是:
messageObj.messages.push("Forth message");
您可以动态地向对象添加属性:
var obj = {};
var propName = "message";
var propVal = "This is a message";
obj[propName] = propVal;
console.log(obj); // { message: "This is a message" }
答案 1 :(得分:0)
我认为您所需要的只是objObjects.message='This is the second message';
如果你真的想保留每一个,也许你需要一个数组:
objObjects.messages = [
'This is the first message',
'This is the second message',
// etc
];
答案 2 :(得分:0)
此处data
是jQuery object
。 Object
必须key
和value
配对。
data.message = "This is the first message";
答案 3 :(得分:0)
你可以这样做:
objObject.message = "...";
将属性添加到对象的末尾会将其添加为该对象中的变量。