-2

同様のStackOverflow questionで説明されているように、バニラ JavaScript では、次のことができます。

var data = Object.assign({}, element.dataset);

...すべてのdata-*属性をオブジェクトとして取得するため。

ただし、結果のオブジェクトは「実際の」JSON オブジェクトではなく、ブール値と数値は引用符で囲まれています。

<div id="my-element"
    data-string="It's OK."
    data-bool="true"
    data-number="10">
</div>

バニラ JavaScript と jQuery の比較は次のとおりです。

バニラ

jquery

jQueryではjQuery('#my-element').data()、実際のJSONを返す前にデータを「持ち上げる」という重い仕事をしていると思いました。

jQuery ではなく ES6 を使用したいので、ホイールを再発明したくないため (正規表現/条件を使用してその値を解析する)、この仕事を行う簡単な方法があるかどうかを尋ねています

4

1 に答える 1