我有以下具有更多值的代码,仅显示 3 个以供您引用
var people = {
'Jon':{
age:65,
height:185,
marriage:true
},
'Mary':{
age:18,
height:170,
marriage:false
},
'Carol':{
age:45,
height:165,
marriage:true
}
};
因为现在我从服务器动态获取所有值,所以我想复制该对象以从 <a>
获取动态值。标签而不是列出上面的所有内容。
<a data-name='${person.name}' data-age="${person.age}" data-height="${person.height}" data-marriage="${person.isMarried}" href='/#'>
<script>
var personName = $('a').data('name');
var personAge = $('a').data('age');
var personHeight = $('a').data('height');
var isMarried = $('a').data('marriage');
</script>
我正在尝试这样的事情,但它似乎不起作用,我是否需要创建一个循环,不太确定
var people = {
personName:{
age:personAge,
height:personHeight,
marriage:isMarried
}
};
任何帮助将不胜感激
谢谢
最佳答案
是的。您将需要一个循环(或等效项)。这是一个简单的工作方法。
var people = {};
$('a').each(function(){
var a = $(this);
people[a.data('name')] = {
age: a.data('age'),
height: a.data('height'),
marriage: a.data('marriage')
}
});
document.body.innerHTML += JSON.stringify(people, null, 2);
<script src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
<a data-name='Jon' data-age="65" data-height="185" data-marriage="true" href='/#'></a>
<a data-name='Mary' data-age="age" data-height="170" data-marriage="false" href='/#'></a>
<a data-name='Carol' data-age="45" data-height="165" data-marriage="true" href='/#'></a>
关于javascript - javascript中的动态值到对象中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33916997/