[jQuery] 3.script 위치
script 위치
jQuery 문을 작성하는 는 어디에 위치해야할까요?
예제를 통해 살펴보죠!
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="jquery-3.3.1.js"> /* jQuery 불러옴 */ </script>
/* ---------------------- head에 위치-------------------------- */
<script>
console.log('head 에서 실행') /* console에서 출력시키는 함수 */
$('.banner').attr({'src':'javascript.png'}) /* .banner의 속성을 변경 */
</script>
/* ------------------------------------------------------------ */
</head>
<body>
<!--------------속성을 바꾸려는 요소 메모리에 올리기전에 위치------------>
<script>
console.log('body first 에서 실행')
$('.banner').attr({'src':'javascript.png'})
</script>
<!-------------------------------------------------------------------->
<img src="jQuery.png" alt="" class="banner">
<!-------------- 속성을 바꾸려는 요소 메모리에 올린 후에 위치------------>
<script>
console.log('body last 에서 실행')
$('.banner').attr({'src':'javascript.png'})
</script>
<!-------------------------------------------------------------------->
</body>
</html>
구체적인 문법은 다음에 살펴보고, 위치만 잘 봐주시길 바랍니다.
결론부터 말하면, script문은 어디든 올 수 있습니다.
하지만, html dom에 있는 요소를 건드리려면 메모리에 먼저 올려야합니다.
쉽게 말해서 위의 script문들은 이미지 jQuery.png를 바꾸려는 것인데,
이미지를 메모리에 올린 후에 script 문을 위치시켜야 이미지가 변경됩니다.
그럼, script문이 어디든 올 수 있는게 무슨 의미가 있을까요??
방법이 있습니다~! 다음과 같이하면 script문이 어디에 있든 dom에 있는 요소를 변경할 수 있습니다.
<script>
$(document).ready(function(){
/* document가 준비되면 실행 ->dom을 다 읽어들이고 실행*/
$('.banner').attr({'src':'javascript.png'})
})
</script>
다음과 같이 간단히도 할 수 있습니다.
<script>
$(function(){
/* document가 준비되면 실행 ->dom을 다 읽어들이고 실행*/
$('.banner').attr({'src':'javascript.png'}) // 간단하게 표현 가능
})
</script>