์ƒˆ์†Œ์‹

Languages/Java Script

[Js] HTML Element | ๋‹จ์ˆ˜์™€ ๋ณต์ˆ˜ | DOM

  • -
๋ฐ˜์‘ํ˜•

๋ชจ๋“  ํฌ์ŠคํŒ…์€ ์ธํ”„๋Ÿฐ [์ƒํ™œ์ฝ”๋”ฉ] ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ•์˜์˜ ๋‚ด์šฉ์„ ๋‹ด๊ณ  ์žˆ์œผ๋ฉฐ

์ถœ์ฒ˜๋Š” ์•„๋ž˜์˜ ์ฃผ์†Œ๋กœ "egoing Lee"๋‹˜์˜ ์ž๋ฃŒ์ž…๋‹ˆ๋‹ค. 

์ƒ์—…์ ์ธ ์˜๋„๊ฐ€ ์•„๋‹Œ ๊ณต๋ถ€ํ•œ ๊ฒƒ์„ ์ •๋ฆฌํ•ด๋†“๋Š” ๋ชฉ์ ์œผ๋กœ ํฌ์ŠคํŒ… ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

www.inflearn.com/course/javascript-%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EA%B0%95%EC%A2%8C#

 

์›น๋ธŒ๋ผ์šฐ์ € Javascript (์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ) - ์ธํ”„๋Ÿฐ

์ƒํ™œ์ฝ”๋”ฉ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ•์ขŒ ์ž…๋‹ˆ๋‹ค. ์›น๋ธŒ๋ผ์šฐ์ €๋ฅผ ์ง์ ‘ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋ ˆํผ๋Ÿฐ์Šค๋ฅผ ๊ณต๋ถ€ํ•ด ๋ด…๋‹ˆ๋‹ค. ์ดˆ๊ธ‰ ์›น ๊ฐœ๋ฐœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด JavaScript ์˜จ๋ผ์ธ ๊ฐ•์˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ•์ขŒ

www.inflearn.com


 

HTMLElement

getElement* ๋ฉ”์†Œ๋“œ๋ฅผ ํ†ตํ•ด์„œ ์›ํ•˜๋Š” ๊ฐ์ฒด๋ฅผ ์กฐํšŒํ–ˆ๋‹ค๋ฉด ์ด ๊ฐ์ฒด๋“ค์„ ๋Œ€์ƒ์œผ๋กœ ๊ตฌ์ฒด์ ์ธ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•œ๋‹ค.

์ด๋ฅผ ์œ„ํ•ด์„œ๋Š” ํš๋“ํ•œ ๊ฐ์ฒด๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์•Œ์•„์•ผ ํ•œ๋‹ค. ๊ทธ๋ž˜์•ผ ์ ์ ˆํ•œ ๋ฉ”์†Œ๋“œ๋‚˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์•„๋ž˜ ์ฝ”๋“œ๋Š” getElement*์˜ ๋ฆฌํ„ด ๊ฐ’์„ ๋ณด์—ฌ์ค€๋‹ค.

 

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<ul>
    <li>HTML</li>
    <li>CSS</li>
    <li id="active">JavaScript</li>
</ul>
<script>
    var li = document.getElementById('active');
    console.log(li.constructor.name);
    var lis = document.getElementsByTagName('li');
    console.log(lis.constructor.name);
</script>
</body>
</html>

 

 

์‹คํ–‰๊ฒฐ๊ณผ

HTMLLIElement
HTMLCollection

 

์ด๊ฒƒ์„ ํ†ตํ•ด์„œ ์•Œ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

 

  • document.getElementById : ๋ฆฌํ„ด ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ HTMLLIELement

  • document.getElementsByTagName : ๋ฆฌํ„ด ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ HTMLCollection

 

 

์ฆ‰ ์‹คํ–‰๊ฒฐ๊ณผ๊ฐ€ ํ•˜๋‚˜์ธ ๊ฒฝ์šฐ HTMLLIELement, ๋ณต์ˆ˜์ธ ๊ฒฝ์šฐ HTMLCollection์„ ๋ฆฌํ„ดํ•˜๊ณ  ์žˆ๋‹ค.

 

 

 

HTMLELement

 

์‹คํ–‰๊ฒฐ๊ณผ๊ฐ€ ํ•˜๋‚˜์ธ ์—˜๋ฆฌ๋จผํŠธ๋“ค์„ ์ข€ ๋” ์‚ดํŽด๋ณด์ž.

<a id="anchor" href="http://opentutorials.org">opentutorials</a>
<ul>
    <li>HTML</li>
    <li>CSS</li>
    <li id="list">JavaScript</li>
</ul>
<input type="button" id="button" value="button" />
<script>
    var target = document.getElementById('list');
    console.log(target.constructor.name);
 
    var target = document.getElementById('anchor');
    console.log(target.constructor.name);
 
    var target = document.getElementById('button');
    console.log(target.constructor.name);
 
</script>

 

 

๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

HTMLLIElement
HTMLAnchorElement
HTMLInputElement

 

์ด๋ฅผ ํ†ตํ•ด์„œ ์•Œ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์—˜๋ฆฌ๋จผํŠธ์˜ ์ข…๋ฅ˜์— ๋”ฐ๋ผ์„œ ๋ฆฌํ„ด๋˜๋Š” ๊ฐ์ฒด๊ฐ€ ์กฐ๊ธˆ์”ฉ ๋‹ค๋ฅด๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

 

๊ฐ๊ฐ์˜ ๊ฐ์ฒด์˜ ์ฐจ์ด์ ์„ ์•Œ์•„๋ณด์ž. ๋งํฌ๋Š” DOM์˜ ์ŠคํŽ™์ด๋‹ค.

 

 

HTMLLIElement๋ฅผ ๋ณด์ž.

interface HTMLLIElement : HTMLElement {
           attribute DOMString       type;
           attribute long            value;
};

 

๋‹ค์Œ์€ HTMLAnchroElement์ด๋‹ค.

interface HTMLAnchorElement : HTMLElement {
           attribute DOMString       accessKey;
           attribute DOMString       charset;
           attribute DOMString       coords;
           attribute DOMString       href;
           attribute DOMString       hreflang;
           attribute DOMString       name;
           attribute DOMString       rel;
           attribute DOMString       rev;
           attribute DOMString       shape;
           attribute long            tabIndex;
           attribute DOMString       target;
           attribute DOMString       type;
  void               blur();
  void               focus();
};

 

์—˜๋ฆฌ๋จผํŠธ ๊ฐ์ฒด์— ๋”ฐ๋ผ์„œ ํ”„๋กœํผํ‹ฐ๊ฐ€ ๋‹ค๋ฅด๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.ํ•˜์ง€๋งŒ ๋ชจ๋“  ์—˜๋ฆฌ๋จผํŠธ๋“ค์€ HTMLElement๋ฅผ ์ƒ์† ๋ฐ›๊ณ  ์žˆ๋‹ค.

 

 

interface HTMLLIElement : HTMLElement {
interface HTMLAnchorElement : HTMLElement {

 

 

HTMLElement๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

interface HTMLElement : Element {
           attribute DOMString       id;
           attribute DOMString       title;
           attribute DOMString       lang;
           attribute DOMString       dir;
           attribute DOMString       className;
};

 

 

 

 

DOM Tree

๋ชจ๋“  ์—˜๋ฆฌ๋จผํŠธ๋Š” HTMLElement์˜ ์ž์‹์ด๋‹ค. ๋”ฐ๋ผ์„œ HTMLElement์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ๋˜‘๊ฐ™์ด ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๋™์‹œ์— ์—˜๋ฆฌ๋จผํŠธ์˜ ์„ฑ๊ฒฉ์— ๋”ฐ๋ผ์„œ ์ž์‹ ๋งŒ์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”๋ฐ ์ด๊ฒƒ์€ ์—˜๋ฆฌ๋จผํŠธ์˜ ์„ฑ๊ฒฉ์— ๋”ฐ๋ผ์„œ ๋‹ฌ๋ผ์ง„๋‹ค.

 

HTMLElement๋Š” Element์˜ ์ž์‹์ด๊ณ  Element๋Š” Node์˜ ์ž์‹์ด๋‹ค.

Node๋Š” Object์˜ ์ž์‹์ด๋‹ค. ์ด๋Ÿฌํ•œ ๊ด€๊ณ„๋ฅผ DOM Tree๋ผ๊ณ  ํ•œ๋‹ค. ์ด ๊ด€๊ณ„๋ฅผ ๊ทธ๋ฆผ์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค. 

( ์ถœ์ฒ˜ )

์ด๋Ÿฌํ•œ ๊ด€๊ณ„๋ฅผ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋ฉด ํ•„์š”ํ•œ API๋ฅผ ์ฐพ์•„๋‚ด๋Š” ๊ฒƒ์ด ์–ด๋ ต๊ฑฐ๋‚˜ ๋ชน์‹œ ํ˜ผ๋ž€์Šค๋Ÿฌ์šธ ๊ฒƒ์ด๋‹ค.

๋‹คํ–‰์ธ ๊ฒƒ์€ jQuery์™€ ๊ฐ™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์ด์šฉํ•œ๋‹ค๋ฉด ์ด๋Ÿฌํ•œ ๊ด€๊ณ„๋ฅผ ๋ชฐ๋ผ๋„ ๋œ๋‹ค. ํ˜น์‹œ ์ดํ•ด๊ฐ€ ์•ˆ๋œ๋‹ค๊ณ  ๋„ˆ๋ฌด ์ƒ์‹ฌํ•˜์ง€ ๋ง์ž.

๋ฐ˜์‘ํ˜•
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.