336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

자바스크립트 DOM Script
– HTML 또는 XHTML 문서에서 모든 엘리먼트는 객체 입니다.
– DOM에서 제공하는 API를 제어하여 이러한 객체들에 접근하는 것이 가능하며,
콘트롤하는것이 가능합니다.

※네이티브객체 : 자바스크립트내에 미리 만들어진 객체
ex) Date, Array, Math….
호스트객체 : 자바스크립트 실행환경에서 만들어진 객체
ex) 웹브라우저에서 제공하는 객체
폼(form), 이미지(image), 요소(element)
1. node(노드) : 어떤 연결망에서 특정지점과 지점을 연결하는 것]
(1)element node – <body>, <p>, <ul>….
(2)text node – 웹문서에서 내용에 해당하는 부분
<p>이부분이 텍스트노드</p>
(3)attribute node – <p title=”이부분이 속성노드”>aaaaaaaaaaaaaa</p>

DOM 코어 API
– getElementById
– getElementsByTagName
– getAttribute
– setAttribute
– …등
DOM을 지원하는 모든 프로그래밍 언어에서 사용가능함.

HTML-DOM
-(x)HTML 문서에 쓰인 DOM을 이용할때 사용할 수 있는 프로퍼티
ex) form 객체 제공
var form = document.getElementsByTagName(“form”);
= document.form;
var src = element.getAttribute(“src”);
=element.src;
element.setAttribute(“src”, url)
=element.src = url;

getElementById(“_ID”)
– document 와 함께 사용한다.
– 문서 구조에서 id 속성값이 _ID 인 엘레먼트객체를 리턴한다.
ex)document.getElementBy(“_ID”);

getElementsByTagName(“tag”)
– 해당 객체의 자식노드에서 특정 태그(tag)를 사용하는 element들을 배열로 리턴함
ex)element.getElementsByTagNmae(“tag”);

getAttribute()
– object.getAttribute(“attribute”);
Document객체를 사용할 수 없고, 각 요소 객체에서만 동작함.

setAttribute()
-object.setAttribute(“attribute”, value);
document객체를 사용할 수 없고, 각 요소객체에서만 동작함.

HTML DOM를 사용해서 아래와 같이 속성을 읽고 설정 할 수 있습니다.
ex) element.value = “new value”;
소스의 길이가 짧고 가단하다는 장점이 있지만, 폼, 이미지등의 일부요소에서만 동작합니다.

DOM 코어 API를 사용하길 추천합니다.

childNodes
– 해당 요소의 모든 자식요소를 포함하는 배열 리턴함.
– 요소노드뿐만 아니라 모든 형식의 노드를 포함하는 배열 리턴
ex) 태그를 가져오는 방법
1. var body = document.getElementsByTagName(“body”)[0];
2. document.body;

body.childNodes

nodeType;
– node.nodeType;
ex)var typeStr = body.nodeType;
#요소노드의 nodeType 값 : 1
#속성노드의 nodeType 값 : 2
#텍스트노드의 nodeType 값 : 3

nodeName
– 어떤 요소인지 확인가능함 (참고로 저는 디버깅 할때 주로 써요)
– 대문자로 표시 해야함.
– if(element.nodeName == “IMG”);

nodeValue
– 텍스트노드의 값을 바꾸려면 nodeValue를 사용
– node의 값을 가져오거나, 설정 할 수 있다

주의
1) 텍스트는 요소의 첫번째 자식요소이다.
ex)
var obj = document.getElementById(“xxx”)
alert(obj.nodeValue); //null출력
alert(obj.childNodes[0].nodeValue);

firstChild
-node.firstChild
=node.childNodes[0]

lastChild
-node.childNodes[node.childNodes.length-1];

createElement
– 새 요소를 생성한다.
– 노드트리에 새로운 요소를 추가한다.
ex)var newElement = document.createElement(“p”) //

요소생성

removeChild
– parent.removeChild(삭제객체);
–> 리턴 : 삭제된 객체를 리턴한다.

ex) var removeElement = 부모엘리먼트.removeChild(삭제할 객체);

appendChild
– parent.appendChild(child)
ex) var testDIV = document.getElementById(“testDIV”);
var para = document.createElement(“p”);
testDIV.appendChild(para);

createTextNode
-텍스트 노드를 생성
ex) var txt = document.createTextNode(“HELLO”);
para.appendChild(txt);

InserBefore
– parantElement.insertBefore(newElement, targetElement);

InsertAfter
– targetElement의 뒤에 newElement를 추가한다.
– DOM API 가 아님~

fucntion inserAfter(newElement , targetElemnt){
var parent = targetElement.parenNode;
if(parent.lastChild == targetElement){
parent.appendChild(newElement);
}else{
parent.insertBefore(newElement, targetElement.nextSibling;
}
}

parentNode
– element의 부모노드를 리턴한다
ex) var parentElement = element.parentNode;

'IT > jquery_javascript' 카테고리의 다른 글

mouseover 와 mouseenter 의 차이점  (0) 2013.09.03
jquery select selector  (0) 2013.08.23
jquery 문자열 함수  (0) 2013.08.20
[jquery] Input Select  (0) 2013.04.08
jquery : input  (0) 2013.04.05
Posted by 당양부부34

블로그 이미지
주요 토렌트를 블로깅하고 있습니다. 토렌트 순위 등은 다른 사이트를 찾아보세요. 주요 웹툰 순위도 게재했어요 경제를 좋아하는 일산의 행복한 프로그래머입니다.
당양부부34
Yesterday
Today
Total

달력

 « |  » 2024.4
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

글 보관함