我试图在数据属性中构建和数组,但是当我尝试添加名称和值时,我得到[object,object]
<div class="wrapper"></div>
$post_url = "http://example.ai";
$post_id = "750";
$(".wrapper").attr("data-history", {
id: $post_id,
url: $post_url
});
我首先要创建数据属性&#34; history&#34;但后来又添加了[对象,对象]。在此之后,我需要在&#34;历史&#34;中添加另一个名称/值。下一个事件的数组。
答案 0 :(得分:2)
两个问题,一个是你不应该在class属性中有点(。)而必须将两个属性添加为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);