2017-06-17 68 views
0

我试图建立和数组数据属性里面,但我发现[目标,对象]当我尝试添加名称和值数据属性阵列添加名称和值使用attr()

<div class="wrapper"></div> 

$post_url = "http://example.ai"; 
$post_id = "750"; 
$(".wrapper").attr("data-history", { 
    id: $post_id, 
    url: $post_url 
}); 

我第一次创建数据属性“历史”,但它然后添加[对象,对象]。在此之后,我需要在下一个事件中为“历史”数组添加另一个名称/值。

+0

回答

2

两个问题,一个是你不应该点(。)在类的属性和两个你必须添加属性为JSON(或使用.data,这取决于你如何要使用的属性)

<div class="wrapper"></div> 

$post_url = "http://example.ai"; 
$post_id = "750"; 
$(".wrapper").attr("data-history", JSON.strinify({ 
    id: $post_id, 
    url: $post_url 
})); 

$post_url = "http://example.ai"; 
$post_id = "750"; 
$(".wrapper").data("history", { 
    id: $post_id, 
    url: $post_url 
}); 

编辑:

要添加新项目刚刚获得的旧数据和新数据添加到它

$post_url = "http://example.ai"; 
$post_id = "750"; 
var data = $(".wrapper").attr("data-history"); 
if (!data){ 
    data = []; 
} 
else{ 
    data = JSON.parse(data); 
} 
data.push({ 
    id: $post_id, 
    url: $post_url 
}); 
$(".wrapper").attr("data-history", JSON.strinify(data)); 

$post_url = "http://example.ai"; 
$post_id = "750"; 
var data = $(".wrapper").data("history"); 
if (!data){ 
    data = [{ 
     id: $post_id, 
     url: $post_url 
    }]; 
} 
else{ 
    data.push({ 
     id: $post_id, 
     url: $post_url 
    }); 
}  
$(".wrapper").data("history", data); 
+0

'JSON.encode'?应该是'stringify' – charlietfl

+0

@charlietfl谢谢,我可能在我的脑海里有PHP – Musa

+0

是的stringify作品。但是,如何为我们刚刚添加的内容添加其他名称/值?我正在构建每个事件的数组。下一个替换我们添加的内容。 – user300979

相关问题