dlgns851
330
2022-06-10 10:44:49
4
93

셀렉터를 document.ready 밖에서 쓰면 안되는데 이유가 뭘까요


1.jsp

<input type="hidden" id="tempYN" value='${param.tempYN}'/>


2.script

<script>

console.log($('#tempYN').val());    // 출력값 :undefined    // tempYN 못찾음 

$(document).ready(function(){

  console.log($('#tempYN').val());   //출력값 lion    정상출력

</script>





0
  • 답변 4

  • console.error()
    2k
    2022-06-10 10:46:07 작성 2022-06-10 11:00:09 수정됨

    script import 태그가

    해당 element보다 위에 있어서 ?

  • 마사키군
    1k
    2022-06-10 10:58:04

    만약 <script> 태그가 <input> 태그보다 위에 있는거라면, 아직 <input id="tempYN"> 이라는 요소가 생성되기 전에 실행됬기 때문일 겁니다.

    jQuery의 ready 이벤트는 요소가 모두 생성된 다음에 실행해주는 이벤트이므로, 그 시점에는 이미 <input id="tempYN"> 요소가 생성된 상태입니다.

  • dlgns851
    330
    2022-06-10 11:21:52

    마사키군  스크립트가 당연히 아래 있을거라 생각했을까요  으 .. 타일뷰  뜯어보니 스크립트가 맨위에 있네요 하하 감사합니다 ! 

  • 로그인을 하시면 답변을 등록할 수 있습니다.