重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

こんばんは

<div id="id" data-hoge='{"name":"名前","age":"年齢"}'></div>

上記のようにdata属性内がオブジェクトになっている場合、javascriptで値とキーのようにアクセスする方法はありますか?
(わけあって、jQueryは使えません)

//期待する結果
document.querySelector('#id').dataset.hoge.name // => 名前
//実際の結果
document.querySelector('#id').dataset.hoge.name // => undefined


~dataset.hogeで返ってきた文字列を操作するしかないのでしょうか?

A 回答 (1件)

こんばんは



>文字列を操作するしかないのでしょうか?
直接取得できるのはあくまでも文字列なので、オブジェクトにしたいのなら変換する必要があります。
evalはなんなので、Jsonでオブジェクト化するとか。

let hoge = JSON.parse(document.querySelector('#id').dataset.hoge);

console.log( hoge.name );
console.log( hoge.age );
    • good
    • 0
この回答へのお礼

出来ました!ありがとうございます!

お礼日時:2021/03/24 23:08

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!