๊ด€๋ฆฌ ๋ฉ”๋‰ด

๐Ÿ–ฅ dev-ruby

[HTML/JS] datasetํ™œ์šฉํ•˜๊ธฐ (data-*) ๋ณธ๋ฌธ

javascript

[HTML/JS] datasetํ™œ์šฉํ•˜๊ธฐ (data-*)

ruby_s 2022. 5. 10. 23:21
728x90
๋ฐ˜์‘ํ˜•
SMALL

์–ด๋Š Element์—๋‚˜ data-๋กœ ์‹œ์ž‘ํ•˜๋Š” ์†์„ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ํ™”๋ฉด์—๋Š” ๋ Œ๋”๋ง ๋˜์ง€ ์•Š๊ฒŒ ์ •๋ณด๋ฅผ ์—˜๋ฆฌ๋จผํŠธ์— ๋‹ด์•„๋†“์„ ์ˆ˜ ์žˆ๋‹ค.

์‚ฌ์šฉ๋ฒ•

<div
  class="item"
  data-node-id="1"
  data-columns="3">
...
</div>

 

 

Javascript์—์„œ ์ ‘๊ทผํ•˜๊ธฐ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ dataset๊ฐ์ฒด๋ฅผ ํ†ตํ•ด์„œ data์†์„ฑ์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.
์ด๋•Œ  ์ ‘๋‘์‚ฌ์ธ data-๊ฐ€ ์ œ๊ฑฐ๋˜๊ณ , ๋ชจ๋“  ๋Œ€๋ฌธ์ž๋Š” ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  data-๋‹ค์Œ์— ์˜ค๋Š” ์†์„ฑ๋ช…์€ -(dash)๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  camelCase๋กœ ๋ณ€ํ™˜๋œ๋‹ค.
์˜ˆ๋ฅผ ๋“ค๋ฉด, data-node-id -> nodeId ๋กœ ๋ณ€ํ™˜.

๋”ฐ๋ผ์„œ, ์•„๋ž˜์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

const { nodeId } = e.target.dataset;
e.target.dataset.nodeId;
e.target.dataset['nodeId'];

 

in ์—ฐ์‚ฐ์ž๋กœ ํ•ด๋‹น ์†์„ฑ์ด ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

'nodeId' in e.target.dataset

 

728x90
๋ฐ˜์‘ํ˜•
LIST