2017-06-17 65 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

相關問題