JavaScript:将对象绑定到DOM元素

JavaScript:将对象绑定到DOM元素,javascript,jquery,dom,data-binding,bind,Javascript,Jquery,Dom,Data Binding,Bind,我返回一个对象,我希望它能够循环并通过类或ID将其内容绑定到DOM对象 是否有一种推荐的方法可以在不必手动分配每个元素的情况下执行此操作 最佳方案是一个函数,它将实际创建一个包含数据的元素 $.each(map, function(key, value) { $('#mainContainer').append('<div id="'+key+'">'+value+'</div>'); }); …否则,我将无法手动创建和分配所有数据,而且还有很多 { "u

我返回一个对象,我希望它能够循环并通过类或ID将其内容绑定到DOM对象

是否有一种推荐的方法可以在不必手动分配每个元素的情况下执行此操作

最佳方案是一个函数,它将实际创建一个包含数据的元素

$.each(map, function(key, value) { 
  $('#mainContainer').append('<div id="'+key+'">'+value+'</div>');
});
…否则,我将无法手动创建和分配所有数据,而且还有很多

{
    "user_profile": {
        "user_meta_first_name": "asdasd",
        "user_meta_last_name": "asdasd",
        "user_meta_billing_first_name": "asdasd",
        "user_meta_billing_last_name": "asdasd",
        "user_meta_billing_address_1": "2589 asdasd Rd.",
        "user_meta_billing_address_2": "",
        "user_meta_billing_city": "asdsdasd",
        "user_meta_billing_postcode": "VVV 344",
        "user_meta_billing_country": "CA",
        "user_meta_billing_state": "AB",
        "user_meta_billing_email": "admin@thebandagency.ca",
        "user_meta_billing_phone": "2343423434",
        "user_meta_shipping_first_name": "asdasd",
        "user_meta_shipping_last_name": "asdasd",
        "user_meta_shipping_address_1": "2589 asdasd Rd.",
        "user_meta_shipping_address_2": "",
        "user_meta_shipping_city": "asdasd",
        "user_meta_shipping_postcode": "VVV 344",
        "user_meta_shipping_country": "CA",
        "user_meta_shipping_state": "AB",
        "user_meta_shipping_email": "",
        "user_meta_shipping_phone": "",
        "user_meta_paying_customer": "1"
    },
    "pet_profiles": {
        "2000": {
            "pet_name": "Wally the Wonder Pup",
            "pet_tag_serial": "V140000",
            "pet_tag_pin": "XGZSVEMZ",
            "pet_tag_expiry": "December 8, 2013",
            "pet_tag_active": "1",
            "pet_tag_size": "1",
            "pet_tag_design": "Basket Case"
        }
    }
}

我假设您的对象是一个数组。您可以使用
每个
JQuery函数在对象中循环,然后创建一个包含对象数据的元素

$.each(map, function(key, value) { 
  $('#mainContainer').append('<div id="'+key+'">'+value+'</div>');
});
$。每个(映射、函数(键、值){
$(“#主容器”).append(“”+value+“”);
});

如果这只是jsonData,并且您希望在屏幕上显示所有内容,那么可以使用这种递归方法。我建议对它进行编辑,因为它是非常简单的

(函数(){
var jsonData=dataSentFromServer();
var detailsElement=document.getElementById(“详细信息”);
函数newDiv(txt){
var createDiv=document.createElement(“div”);
如果(txt!=未定义)
createDiv.innerHTML=txt;
返回createDiv;
}
var深度=1;
(功能组合图(obj,el){
var ElementArray=[];
var ChildArray=[];
$.each(对象、函数(名称、值){
如果(!$.isArray(值)){
var appender=newDiv(name+“\u uuuuuuuuuuuuuuuu:\uuuuuuuuuuuuuuuuuuuuuuuu”+值);
setAttribute(“样式”,“左边距:”+10*深度+“px;”);
如果($.isPlainObject(值)){
appender.innerHTML=“”+appender.innerHTML+”;
深度++;
复合图(值、附录);
深度--;
ElementArray.push(el);
ChildArray.push(appender);
}否则{
el.appendChild(appender);
}
}否则{
var appender=newDiv(name+“\u uuuuuuuuuuuuuuuu:\uuuuuuuuuuuuuuuuuuuuuuuu”+值);
setAttribute(“样式”,“左边距:”+10*深度+“px;”);
appender.innerHTML=“”+appender.innerHTML+”;
对于(变量i=0,len=value.length;i
可以使用foreach函数在对象上循环吗?它是一个JSON对象吗?我们能看一点代码或示例吗?使用
$(元素).data('obj',myobj)
有什么问题吗?没有什么。。。只是想确定我是用更推荐的方式做的。您建议如何实现它?@dcolombus使用
.data()
几乎可以将任何对象附加到DOM节点。