我確定這是回答某處,但它是我缺乏術語知識,無法找到在哪裏看。具有嵌套屬性的HTML SetAttribute
我動態創建一些Html作爲從服務器加載的一些JSON數據的結果。
我使用createElement和setAttribute來創建html並將其附加到主體。
但是,我的動態html包含一個「data-」屬性,它具有更多的嵌套屬性。一個例子的最終目標是這樣的:
li.setAttribute("data-item", '{"width": 100, "height": 100, "properties":
{ "Name": "foo", "Surname": "bar" }}');
但是當我走到了我的Java腳本的其他地方使用的數據項,屬性確認:
<li>
<span class=item data-item='{"width": 100, "height": 100,
"properties": { "Name": "foo", "Surname": "bar" }}'></span>
</li>
運行時,我已經取得了一些成功作爲一個字符串而不是一個對象。當我硬編碼HTML時,數據項作爲對象正確加載。我做了一定的假設,因爲我錯誤地設置了這個屬性。
如何訪問屬性?你確定從硬編碼的HTML中讀取對象時會得到一個對象嗎? Afaik,HTML屬性**總是**字符串 –
如果您使用jQuery的'data()'方法訪問數據屬性,它將爲您解串行化JSON。否則,您需要手動完成,如下面的兩個答案所示。 –
@RoryMcCrossan我認爲OP是使用Vanilla JS而不是JQyery。但我同意你的看法。 –