これはどこかで答えられると確信していますが、見た目を見つけることができない用語知識の欠如です。入れ子になったプロパティを持つHTML SetAttribute
私は、サーバーからロードされたいくつかのjsonデータの結果として、いくつかのHTMLを動的に作成しています。
私は、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からオブジェクトを読み込むのは本当ですか? HTML属性は**常に**文字列です –
jQueryの 'data()'メソッドを使用してデータ属性にアクセスすると、JSONがデシリアライズされます。それ以外の場合は、以下の2つの答えが表示されるので、手動で行う必要があります。 –
@RoryMcCrossan私はOPがJQyeryではなく、バニラJSを使用していると思います。私はあなたの意見に同意します。 –