νμ¬ document.createElement()μμ λ°νλ μμμλ μκΈ°μΉ μμ(https://html.spec.whatwg.org/#dom-dataset) .dataset μμ±μ΄ μλ κ² κ°μ΅λλ€.
#963μ ν λ‘ μ μ°Έμ‘°νμμμ€. μ΄κ²μ V8μ΄ νλ‘μλ₯Ό μ§μν λκΉμ§λ λΆκ°λ₯ν©λλ€(λΉνμ€ Proxy.create
κ° μλλΌ new Proxy
).
μ¬ κ² κ°λ€! https://twitter.com/s3ththompson/status/687301453761806336
+1 μ΄ κΈ°λ₯μ΄ μ λ§ νμν©λλ€
μ΄κ²μ΄ μμ§ μ¬μμ ν¬ν¨λμ§ μμλ€λ μ¬μ€μ λ§€μ° λλμ΅λλ€.
/lib/jsdom/browser/not-implemented.jsμμ μ€λ₯κ° λ°μνμ§ μλ μ΄μ λ 무μμ λκΉ?
μ΄κ²μ μνλ μ¬λλ€μ _element_.setAttribute("data-foo","bar");
μ΄μ λν μ λ°μ΄νΈκ° μμ΅λκΉ?
μ΄λ΄, λλ λ
Έλμ λ©λͺ¨λ¦¬ λΆμ‘±μ΄ μ μΌν μ¦μμΈ λ¬Έμ μ μ λ Ήμ λλ²κΉ
νλ λ° ν μκ°μ 보λμ΅λλ€. getAttribute
dataset
λ₯Ό μ¬μ©νμ¬ λ°μν κ²μΌλ‘ νλͺ
λμμ΅λλ€. κ·Έ λμ λμ°λ―Έ κ²½κ³ κ° κ°μ κ²½νμμ μ¬λλ€μ ꡬν μ μμ΅λκΉ? :-/
@domenic μ΄μ λ°λ₯΄λ©΄ Proxy
λ λ
Έλ 6λΆν° μ§μλ©λλ€.
λ μ½κ² κΈ°μ¬ν μ μλλ‘ κ΅¬ννλ λ°©λ²μ λν μ§μΉ¨μ΄ μμ΅λκΉ?
@idanen λ¨Όμ <a i="8">HTMLElement</a>.prototype.dataset
DOMStringMap
μΈν°νμ΄μ€λ₯Ό ꡬννλ €κ³ ν κ²μ
λλ€. DOMStringMap
λ₯Ό ꡬννλ €λ©΄ νλ‘μλ₯Ό ν΅ν΄ λ κ±°μ νλ«νΌ κ°μ²΄( Web IDL μ μ μλ¨)λ₯Ό μ§μνκΈ° μν΄ webidl2js
λ₯Ό λ³κ²½ν΄μΌ ν©λλ€. Web IDL μ¬μμλ κ° λ΄λΆ λ©μλκ° μ νν μνν΄μΌ νλ μμ
μ λν μμΈν μ§μΉ¨μ΄ ν¬ν¨λμ΄ μμ΅λλ€. (κΈ°λ³Έμ μΌλ‘ Web IDL μ¬μμ λ΄μ©μ webidl2jsλ‘, HTML νμ€μ λ΄μ©μ jsdomμΌλ‘ μ΄λν©λλ€.)
μ΄ μμ μ μννλ €λ©΄ 곧 λ³ν©λ λ΄ μ§μ μ κΈ°λ°μΌλ‘ μμ νλ κ²μ΄ μ’μ΅λλ€.
@TimothyGu dom-token-list μ κ°μ κ²?
@idanen , μλ μμ ν λ€λ₯Έ κ²μ λλ€.
ν
μ€νΈ μ€μνΈλ₯Ό jsdomμΌλ‘ λ§μ΄κ·Έλ μ΄μ
ν λ μ΄ λ¬Έμ κ° λ°μνμ΅λλ€. λμμ΄λλ€λ©΄ getAttribute
λ° setAttribute
λ₯Ό μ¬μ©νλλ‘ dataset
getter λ° setterλ₯Ό λ³ννκΈ° μν΄ μμ±ν μ½λ λͺ¨λκ° μμ΅λλ€. https://gist.github.com/schreifels/ eb6764b0435d9d830652cee7cb1132c1.
κ°μ₯ μ μ©ν λκΈ
+1 μ΄ κΈ°λ₯μ΄ μ λ§ νμν©λλ€