본문 바로가기
TIL

[TIL] 2022년 2월 4주차

by happyhelen 2022. 2. 21.

 

 

  • 코드는 깃헙에 올리므로 여기서는 공부한 내용을 요약하는 식으로 정리합니다. 

 

 

 

2월 21일

  • 저번주에도 강조했지만 라디오나 체크박스는 항상 name 이 똑같아야한다!
  • 계속해서 배열명.forEach(function(elt, i, array) {}); 를 다양하게 활용해보고 있다.
  • 상품의 주문수와 가격을 추가상품의 가격과 함께 계산하는 계산서를 만들었는데 어려웠다.
  • 기억해야할 것
    • 1. 서로 다른 태그에 배열의 어떤 key 에 대한 value 값으로서 같은 id 를 주면 ( 원래 id 값은 유일해야 하지만 이렇게 쓰는게 좋을 때가 있다. ) 다른 태그의 같은 id 로 원하는 값을 금방 알아올 수 있다.
    • 글로 작성하면서 다시 이해했다.
  • 2022.02.23 - [분류 전체보기] - [JavaScript] 동일한 id 속성을 여러개 준다고? (2탄)
 

[JavaScript] 동일한 id 속성을 여러개 준다고? (2탄)

아래와 같이 객체배열 arr_product 를 선언했다. 그리고 아래와같이 태그 안의 span 태그와 input 태그, 그리고 아래의 td 태그에 같은 id 값으로 위 배열의 productId 에 대한 value 를 주었다. 제품 각각에

programming-hyerim.tistory.com

 

 

 

 

 

2월 22일

 

  • 정규표현식을 공부했다. 정리는 깃헙에 해두었다.
  • form 태그에서 사용되는 method 의 get방식, post 방식을 공부하고 따로 블로그에 정리했다.
  •  
  • 여러 정보를 입력하는 회원가입 기능을 만들고, 정규표현식으로 유효성 검사를 하는 것을 공부했다. 
  • 정규표현식을 사용해서 유효성검사를 할 때는 기록해놓은 검증된 정규표현식을 가져다 쓴다.
  • javascript 를 끝내고 jQuery 를 시작했다~!

 

  • 기억해야할 것
    • 라디오와 체크박스는 value 를 꼭 넣어줘야 선택한 값이 들어와서 DB 로 전달해 줄 수가 있다. 어차피 DB 에 들어가야하기 때문에 DB 의 이름을 따르는 것이 좋다. 
    • fieldset 으로 폼을 묶었으면 legend 로 fieldset 에 대한 제목을 지정한다.
    • select 태그에서 value 값을 주지 않은 상태에서 목록 개수가 많지 않아서 <option>으로 목록을 주었다면, option 태그사이의 값이 db 로 넘어가고 value 값을 주었을 시에는 그 value 값이 넘어간다.

 


jQuery 기록

 

  • jQuery 는 javascript 를 보다 쉽게 사용하게 해주는 라이브러리이다. 그래서 jQuery 파일을 <script> 에 src 로 경로를 지정해주는 방식으로 사용할 수 있다.

         === >  이렇게 쓴다.  <script type="text/javascript" src="../../js/js/jquery-3.6.0.min.js"></script>

  • 또한 웹브라우저에 HTML 문서가 로드되고 난 후에 실행하므로 어디에 기술해도 괜찮다.

         === >  이렇게 쓴다. $(document).ready(function() {...});  ==> $(function() {); 로 사용해도 된다.

 

  • jQuery 는 javascript 와 비슷한 메소드가 더러 있다.
  • window.open() 으로 팝업창을 만들었다.
  • jQuery 에서는 $("") 와 같은 형태로 태그를 잡아오거나 한다. 이 형태를 기억하자. $("")
  • .bind() 는 js 에서 공부한 addEventListener() 처럼 태그와 이벤트를 결합해주는 메소드이다. .bind() 없이 바로 .click 같은 메소드도 같은 기능으로 사용가능하다.
  • 입력한 값 또는 선택한 값 에 접근하는 .val(), 태그 안의 내용을 보이지 않게 하는 .hide(), 반대로 보이게 하는 .show() 를 공부했다.

 

 

 

 

 

2월 23일

 

  • 선택자 요소가 현재 .hide() 를 준 상태라면 .show() 를 수행해주고, 현재 .show() 된 상태라면 .hide() 를 수행하는 .toggle() 을 공부했다.
  • 예전에 공부했던 내용 중에, 바깥 태그에 display : flex 를 주고, 안의 태그에 margin : auto 를 주면 화면 상단의 중앙에 오는 것을 다시 복습했다.
  • $(event.target) 을 활용해서 이벤트(클릭, 마우스오버,,,) 가 발생된 엘리먼트를 잡아오는 것을 공부했다. 앞으로 자주 사용될 것이므로 잘 기억해두자.
  • $(event.target).text() 는 이벤트가 발생한 태그의 텍스트를 가져오는 것이다.
  • .unbind() 는 () 안의 이벤트와 연결을 끊는다는 것이다.
  • .hide() 는 보이지 않게 숨기는 것이고,  .empty() 는 선택자 안의 내용물을 비운다는 것이다.
  • mouseover(), mouseout() 을 공부했다.
  • 선택자.attr('id')  또는 선택자.prop('id') 를 이용해서 id 또는 name 명을 알아올 수 있다.
  • 선택자.eq(index값) 으로 배열의 특성을 가진 선택자에서 index 값에 해당하는 선택자(요소)를 가져오는 것으로 마치 배열에서 특정 index 에 해당하는 배열요소를 얻어오는 것과 같은 것이다. 
  • .index() 꼭 기억, 나중에 엄청 편하고, id 뭐 다 필요없어진다.
  • 선택자.hover(function(){} , function(){}); 를 공부했다. hover() 은 이벤트가 아니라 jQuery 에서 제공하는 메소드이다.
    • ==> 첫번째 function(){} 은 mouseover 에 해당하는 내용을 기재하는 것이고, 두번째 function(){} 은 mouseout 에 해당하는 내용을 기재하는 것이다.
  • window.onload 를 공부했다.
  • 2022.02.28 - [분류 전체보기] - [JavaScript] window.onload 사용시 주의할 점
 

[JavaScript] window.onload 사용시 주의할 점

script 태그 안에 로직을 작성할 때, window.onload 에 로직을 작성하면 그 로직은 웹페이지가 로딩이 끝난 후 실행되서 선언된 위치에 구애받지 않는다. 즉, 웹페이지 로딩 후 작동되기 때문에  head

programming-hyerim.tistory.com

 

 

 

2월 24일

 

  • CSS 에서 클래스를 정의하고, addClass() 또는 removeClass() 로 css 효과를 넣어주고 제거하는 것을 공부했다.
  • 선택자를 잡아올 때 안잡히는 경우에 사용하는 $(document).on() 을 공부했다.
  • transition 은 속성의 변화 속도를 조절하는 css 이다. 보통 마우스오버시에 변화가 나타나고 글꼴의 크기나 요소의 크기가 부드럽게 변하도록 만들 때 사용된다.
  • css 스타일을 적용할 때 광도(빛의 정도) 를 나타내주는 opacity 를 공부했다. 범위는 0.0 ~ 1.0이다.
  • 내용을 선택자 앞에 추가하는 prepend(), 뒤에 추가하는 append() 와 태그 내용물을 제거하는 empty(), remove() 를 공부했다. remove() 는 태그 자체를 제거하는 것이라서 remove() 사용 후의 관련된 선택자를 주의해서 사용해야 한다.
  • 기억해야할 것
    • 1. body 태그 안에 직접 기술한 선택자가 아니라, script 내에 기술한 선택자는 못잡아오는 경우가 발생할 수 있는데, 그때는 $(document).on("이벤트종류","선택자",function(){}); 처럼 on() 을 사용해서 잡아와야 한다.
    • 2. jQuery, jQuery UI 같이 외부에서 끌어다 쓰는 라이브러리는 파일을 다운받아서 경로를 입력해도 되지만, 웹사이트 주소를 경로로 지정해서 바로 사용이 가능하다. 
    • 3. $(event.target) 과 $(this) 는 모두 function() 을 적용할 시의 이벤트가 발생한 그 태그를 잡아오는 것이다.
    • 4. $(event.target).index() 는 1부터 시작한다!! 0부터 시작한다고 착각하지 말자.
    • 5. css 의 속성값을 알아오고자 한다면 선택자.css(css종류) 처럼 사용하면 된다. ex) 선택자.css('display'); 는    현재  display 의 속성값이  none 인지, block 인지 등을 반환해준다.
    • 6. 연속된 버튼들 사이의 미세한 여백을 없애고 싶으면 float:left 를 주면 된다.
    • 7. .each(index, elt) 는 jQuery 에서만 사용가능하고 파라미터가 2개라는 점에서forEach() 와 다르다.
  • 중요한 내용을 따로 기록했다.
  • 2022.02.26 - [분류 전체보기] - [JavaScript] 객체배열에서 이벤트가 발생한 객체의 속성값 알아오는 예제
 

[JavaScript] 객체배열에서 이벤트가 발생한 객체의 속성값 알아오는 예제

버튼을 누르면 색깔과 함께 색이름이 나오는 웹페이지이다. 위의 arrBtn 배열에서 색이름을 가져와서 색깔과 마찬가지로 화면에 띄워야 한다. 다양한 방법이 있겠지만 태그.click() 안에서 색깔을

programming-hyerim.tistory.com

 

 

 

 

 

2월 25일

 

  • 선택자의 자식태그(손자는 아님)들만을 가리키는 .children() 과, 선택자 내에 있는 모든 하위요소를 가리키는 .find() 를 공부했다.
  • 선택자.toggleClass("클래스명"); 은 선택자에 css "클래스명" 이 이미 적용되어 있으면 제거해주고, 적용되어있지 않으면 적용해주는 것이다. 즉 addClass 와 removeClass 가 합쳐진 것이라고 보면 된다.
  • 선택자의 부모태그를 가리키는 .parent()와, 자기자신을 제외한 형제태그들을 가리키는 .siblings() 를 공부했다.
  • 선택자에 해당하는 내용물을 밀리초동안 위에서부터 아래로 내리는 .slideDown(밀리초)과 아래에서 위로 올리는 slideUp(밀리초)  를 공부했다.
  • 선택자에 해당하는 내용물을 밀리초동안 천천히 나타내는 fadeIn(밀리초), 천천히 사라지게 하는 fadeOut(밀리초)를 공부했다.
  • 기억해둘 것
    • 1. forEach() 는 반복문을 빠져나오는 (예를들면 break; 같은) 기능이 없지만, each() 는 return false; 가 그 역할을 한다.
    • 2. eventBubbling 현상을 공부했다.(다음주에 공부하고 TIL 에 올리겠다.)
    • 3. .prop() 또는 .attr() 을 사용할 때는 어떤 속성을 대상으로 하는지 잠깐 검토하자. 
    • 2022.02.28 - [분류 전체보기] - [jQuery] .prop() 과 .attr()
 

[jQuery] .prop() 과 .attr()

체크박스의 속성값을 알아와서 클릭시 체크된 경우라면 해제해주고, 해제된경우라면 체크해주는 기능을 공부하는데 .prop() 로 할 때는 속성값이 나오는데 attr() 로 할 때는 안나왔다. 수업때는

programming-hyerim.tistory.com

 

 

 

2월 26-27일

 

  • 한주간 배운 것을 복습했다.

'TIL' 카테고리의 다른 글

[TIL] 2022년 3월 3주차  (0) 2022.03.16
[TIL] 2022년 3월 2주차  (0) 2022.03.07
[TIL] 2022년 2월 5주차 ~ 3월 1주차  (0) 2022.02.28
[TIL] 2022년 2월 3주차  (0) 2022.02.15
[TIL] 2022년 2월 2주차  (0) 2022.02.07