프로그래밍 538

생활코딩 javascript 정리 - 조회 API

15. 조회 API 조회 API는 엘리먼트를 조회하는 기능이다. 조회 방법에 대해서는 이미 여러차례 살펴봤기 때문에 이번 시간에 알아볼 내용은 조회 대상을 제한하는 방법에 대한 것이다. 지금까지 document.getElementsBy* 메소드를 통해서 엘리먼트를 조회했다. document 객체는 문서 전체를 의미하는 엘리먼트이기 때문에 document의 조회 메소드는 문서 전체를 대상으로 엘리먼트를 조회한다. Element 객체 역시도 getElementsBy* 엘리먼트를 가지고 있는데 Element 객체의 조회 메소드는 해당 엘리먼트의 하위 엘리먼트를 대상으로 조회를 수행한다. html css JavaScript JavaScript Core DOM BOM var list = document.getEl..

생활코딩 javascript 정리 - 식별자 API

14. 식별자 API 엘리먼트를 제어하기 위해서는 그 엘리먼트를 조회하기 위한 식별자가 필요하다. 본 수업에서는 식별자 API들에 대해서 알아보자. HTML에서 엘리먼트의 이름과 id 그리고 class는 식별자로 사용된다. 식별자 API는 이 식별자를 가져오고 변경하는 역할을 한다. 1) Element.TagName 해당 엘리먼트의 태그 이름을 알아낸다. 태그 이름을 변경하지는 못한다.(a태그, ul태그 등) html css JavaScript console.log(document.getElementById('active').tagName) 2) Element.Id 문서에서 id는 단 하나만 등장할 수 있는 식별자다. 아래 예제는 id의 값을 읽고 변경하는 방법을 보여준다. html css JavaScr..

생활코딩 javascript 정리 - Element 객체

13. Element 객체 1) 소개 Element 객체는 엘리먼트를 추상화한 객체다. HTMLElement 객체와의 관계를 이해하기 위해서는 DOM의 취지에 대한 이해가 선행되야 한다. DOM은 HTML만을 제어하기 위한 모델이 아니다. HTML이나 XML, SVG, XUL과 같이 마크업 형태의 언어를 제어하기 위한 규격이기 때문에 Element는 마크업 언어의 일반적인 규격에 대한 속성을 정의하고 있고, 각각의 구체적인 언어(HTML,XML,SVG)를 위한 기능은 HTMLElement, SVGElement, XULElement와 같은 객체를 통해서 추가해서 사용하고 있다. 2) 다른 객체들과의 관계 DOM의 계층구조에서 Element 객체의 위치는 아래와 같다. 3) 주요기능 식별자 - 문서내에서 특..

생활코딩 javascript 정리 - jQuery 객체

12. jQuery 객체 jQuery 함수의 리턴값으로 jQuery 함수를 이용해서 선택한 엘리먼트들에 대해서 처리할 작업을 프로퍼티로 가지고 있는 객체다. 1) 암시적 반복 jQuery 객체의 가장 중요한 특성은 암시적인 반복을 수행한다는 것이다. DOM과 다르게 jQuery 객체의 메소드를 실행하면 선택된 엘리먼트 전체에 대해서 동시에 작업이 처리된다. 암시적 반복은 값을 설정할 때만 동작한다. 값을 가져올 때는 선택된 엘리먼트 중 첫번째에 대한 값만을 반환한다. 이에 대한 내용은 아래에서 살펴본다. 2) 체이닝 chainig이란 선택된 엘리먼트에 대해서 연속적으로 작업을 처리할 수 있는 방법이다. $(‘li’).css(‘color’); // 값을 가져옴 $(‘li’).css(‘color’, ‘red..

생활코딩 javascript 정리 - HTMLCollection

11. HTMLCollection HTMLCollection은 리턴 결과가 복수인 경우에 사용하게 되는 객체다. 유사배열로 배열과 비슷한 사용방법을 가지고 있지만 배열은 아니다. HTMLCollection HTMLCollection의 목록은 실시간으로 변경된다. 아래 코드를 보자. DOCTYPE html> HTML CSS JavaScript console.group('before'); var lis = document.getElementsByTagName('li'); for(var i = 0; i

생활코딩 javascript 정리 - HTMLElement

10. HTMLElement getElement* 메소드를 통해서 원하는 객체를 조회했다면 이 객체들을 대상으로 구체적인 작업을 처리해야 한다. 이를 위해서는 획득한 객체가 무엇인지 알아야 한다. 그래야 적절한 메소드나 프로퍼티를 사용할 수 있다. 아래 코드는 getElement*의 리턴 값을 보여준다. 즉 실행결과가 하나인 경우 HTMLLIELement, 복수인 경우 HTMLCollection을 리턴하고 있다. 1) HTMLELement 실행결과가 하나인 엘리먼트들을 좀 더 살펴보자. opentutorials HTML CSS JavaScript var target = document.getElementById('list'); console.log(target.constructor.name); var t..

생활코딩 javascript 정리 - jQuery 사용하기

9. jQuery 사용하기 1) 라이브러리 자주 사용하는 로직을 재사용할 수 있도록 고안된 소프트웨어를 라이브러리라고 한다. 2) jQuery jQuery는 DOM을 내부에 감추고 보다 쉽게 웹페이지를 조작할 수 있도록 돕는 도구이다. jQuery의 효용은 후속 수업을 통해서 살펴보자. jQuery를 사용하기 위해서는 jQuery를 HTML로 로드해야 한다. 아래는 jQuery를 로드하는 방법이다. DOCTYPE html> jQuery( document ).ready(function( $ ) { $('body').prepend('Hello world'); }); 3) jQuery를 사용하여 제어대상을 찾기 아래는 DOM을 이용했을 때와 jQuery를 이용했을 때를 비교한 것이다. 아래 코드는 복잡하다. ..

생활코딩 javascript 정리 - DOM(document object model)

8. DOM Document Object Model로 웹페이지를 자바스크립트로 제어하기 위한 객체 모델을 의미한다. window 객체의 document 프로퍼티를 통해서 사용할 수 있다. Window 객체가 창을 의미한다면 Document 객체는 윈도우에 로드된 문서를 의미한다고 할 수 있다. DOM의 하위 수업에서는 문서를 제어하는 방법에 대한 내용을 다룬다. 1) 제어 대상을 찾기 문서를 자바스크립트로 제어하려면 제어의 대상에 해당되는 객체를 찾는 것이 제일 먼저 할 일이다. 문서 내에서 객체를 찾는 방법은 document 객체의 메소드를 이용한다. 2) document.getElementsByTagName 문서 내에서 특정 태그에 해당되는 객체를 찾는 방법은 여러가지가 있다. getElementsB..

생활코딩 javascript 정리 - 창제어(window 제어)

7. 창제어(window 제어) window.open 메소드는 새 창을 생성한다. 현대의 브라우저는 대부분 탭을 지원하기 때문에 window.open은 새 창을 만든다. 아래는 메소드의 사용법이다. DOCTYPE html> li {padding:10px; list-style: none} 첫번째 인자는 새 창에 로드할 문서의 URL이다. 인자를 생략하면 이름이 붙지 않은 새 창이 만들어진다. 두번째 인자는 새 창의 이름이다. _self는 스크립트가 실행되는 창을 의미한다. _blank는 새 창을 의미한다. 창에 이름을 붙일 수 있다. open을 재실행 했을 때 동일한 이름의 창이 있다면 그곳으로 문서가 로드된다. 세번재 인자는 새 창의 모양과 관련된 속성이 온다. function open1(){ windo..

생활코딩 javascript 정리 - Navigator 객체

6. Navigator 객체 브라우저의 정보를 제공하는 객체다. 주로 호환성 문제등을 위해서 사용한다. 아래 명령을 통해서 이 객체의 모든 프로퍼티를 열람할 수 있다. console.dir(navigator); 주요한 프로퍼티를 알아보자 1) 기능 테스트 Navigator 객체는 브라우저 호환성을 위해서 주로 사용하지만 모든 브라우저에 대응하는 것은 쉬운 일이 아니므로 아래와 같이 기능 테스트를 사용하는 것이 더 선호되는 방법이다. 예를 들어 Object.keys라는 메소드는 객체의 key 값을 배열로 리턴하는 Object의 메소드다. 이 메소드는 ECMAScript5에 추가되었기 때문에 오래된 자바스크립트와는 호환되지 않는다. 아래의 코드를 통해서 호환성을 맞출 수 있다. (없으면 아래처럼 구현한다는 ..