자바스크립트 44

생활코딩 javascript 정리 - Node 객체

19. Node 객체 소개 Node 객체는 DOM에서 시조와 같은 역할을 한다. 다시 말해서 모든 DOM 객체는 Node 객체를 상속 받는다. Node 객체의 위상을 그림으로 나타내면 아래와 같다. 주요기능 Node 객체의 주요한 임무는 아래와 같다.관계 엘리먼트는 서로 부모, 자식, 혹은 형제자매 관계로 연결되어 있다. 각각의 Node가 다른 Node와 연결된 정보를 보여주는 API를 통해서 문서를 프로그래밍적으로 탐색할 수 있다. Node.childNodes Node.firstChild Node.lastChild Node.nextSibling Node.previousSibling Node.contains() Node.hasChildNodes() 1) 노드의 종류 Node 객체는 모든 구성요소를 대표하..

생활코딩 javascript 정리 - jQuery 조회 범위 제한

18. jQuery 조회 범위 제한 이전 수업에서 Element 객체에서 getElementsBy* 메소드를 실행하면 조회의 범위가 그 객체의 하위 엘리먼트로 제한된다는 것을 알아봤다. jQuery에서는 어떻게 이러한 작업을 할 수 있을까? 1) selector context 가장 간편한 방법은 조회할 때 조회 범위를 제한하는 것이다. 그 제한된 범위를 jQuery에서는 selector context라고 한다. html css JavaScript JavaScript Core DOM BOM $( ".marked", "#active").css( "background-color", "red" ); 실행결과 html css JavaScript JavaScript Core DOM BOM 선택자를 아래처럼 작성해도..

생활코딩 javascript - jQuery 속성 제어 API

17. jQuery 속성 제어 API 지금까지 살펴본 Element의 API에 해당하는 기능을 jQuery에서는 어떻게 구사하는가를 알아보자. 1) 속성 제어 jQuery 객체의 메소드 중 setAttribute, getAttribute에 대응되는 메소드는 attr이다. 또한 removeAttribute에 대응되는 메소드로는 removeAttr이 있다. opentutorials var t = $('#target'); console.log(t.attr('href')); //http://opentutorials.org t.attr('title', 'opentutorials.org'); // title 속성의 값을 설정한다. t.removeAttr('title'); // title 속성을 제거한다. 2) at..

생활코딩 javascript 정리 - 속성 API

16. 속성 API 속성은 HTML에서 태그명만으로는 부족한 부가적인 정보라고 할 수 있다. 이 속성을 어떻게 제어하는가 알아보자. 속성을 제어하는 API는 아래와 같다. 각각의 기능은 이름을 통해서 충분히 유추할 수 있을 것이다. Element.getAttribute(name) Element.setAttribute(name, value) Element.hasAttribute(name); Element.removeAttribute(name); opentutorials var t = document.getElementById('target'); console.log(t.getAttribute('href')); //http://opentutorials.org t.setAttribute('title', 'op..

생활코딩 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..

반응형