Hamutaro - Hamtaro 4

JavaScript

[JavaScript] Document.querySelector()

carsumin 2024. 9. 4. 15:49

https://developer.mozilla.org/ko/docs/Web/API/Document/querySelector

 

Document.querySelector() - Web API | MDN

Document.querySelector() ๋Š” ์ œ๊ณตํ•œ ์„ ํƒ์ž ๋˜๋Š” ์„ ํƒ์ž ๋ญ‰์น˜์™€ ์ผ์น˜ํ•˜๋Š” ๋ฌธ์„œ ๋‚ด ์ฒซ ๋ฒˆ์งธ Element๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ผ์น˜ํ•˜๋Š” ์š”์†Œ๊ฐ€ ์—†์œผ๋ฉด null์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

developer.mozilla.org

 

Document.querySelector()
  • ์„ ํƒ์ž ์ฒซ๋ฒˆ์งธ ์š”์†Œ(element) ๋ฐ˜ํ™˜, ์ผ์น˜ํ•˜๋Š” ์š”์†Œ๊ฐ€ ์—†์œผ๋ฉด null ๋ฐ˜ํ™˜
  • ๊นŠ์ด ์šฐ์„ (depth-first) ์ „์œ„ ์ˆœํšŒ(pre-order) -> ์ฒซ๋ฒˆ์งธ ์š”์†Œ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ์ž์‹ ๋…ธ๋“œ์˜ ์ˆ˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ˆœํšŒ
document.querySelector(selectors);
  • ํ•˜๋‚˜ ์ด์ƒ์˜ ์„ ํƒ์ž๋ฅผ ํฌํ•จํ•œ DOMString. ์œ ํšจํ•œ CSS ์„ ํƒ์ž์—ฌ์•ผ๋งŒ ํ•˜๋ฉฐ ์•„๋‹ ๊ฒฝ์šฐ SYNTAX_ERR ๋ฐœ์ƒ.

 

์˜ˆ์ œ
<div id="foo\bar"></div>
<div id="foo:bar"></div>

<script>
    console.log("#foo\bar"); //"#footer"
    
    document.querySelector("#foo\bar"); //์ผ์น˜ํ•˜๋Š” ์š”์†Œ ์—†์Œ
    
    console.log("#foo\\bar"); //"#foo\bar"
    console.log("#foo\\\\bar"); //"#foo\\bar"
    document.querySelector("#foo\\bar"); //์ฒซ๋ฒˆ์งธ <div>
    
    document.querySelector("#foo:bar"); //์ผ์น˜ํ•˜๋Š” ์š”์†Œ ์—†์Œ
    document.querySelector("#foo\\"bar"); //๋‘ ๋ฒˆ์งธ <div>
</script>