Felix Riesterer: Wert in data-Attribut

Beitrag lesen

Lieber heinetz,

<a data-test = "value_a">Link</a>

Du willst keine Leerzeichen um das Istgleichzeichen!!

<a data-test="value_a">Link</a>

Was Deinen Ersatzcode angeht, so sieht er aus wie ein übliches Objekt-Literal in JavaScript:

{prop_a:'value_a', prop_b:{prop_b1:'value_b1', prop_b2:'value_b2'}}

Anders formatiert sieht es so aus:

{
    prop_a: 'value_a',
    prop_b:{
        prop_b1: 'value_b1',
        prop_b2: 'value_b2'
    }
}

Um ein solches Objektliteral "einfach" mit JavaScript zu notieren, nützt Dir (wie schon von @dedlfix angemerkt) JSON.stringify().

var o = {prop_a:'value_a', prop_b:{prop_b1:'value_b1', prop_b2:'value_b2'}};
var element = document.querySelector('[data-test="value_a"]');

// fill data-test attribute
element.dataset.test = JSON.stringify(o);

Liebe Grüße,

Felix Riesterer.