http://www.cnblogs.com/TomXu/archive/2012/02/16/2351331.html, 여기에서 기사를 읽으러 다시 오시면 확실히 더 깊은 이해를 갖게 될 것입니다. 여기서는 몇 가지 개념적인 내용을 소개하기 때문에 초보자에게는 다소 어려울 수 있는 아래 예시를 살펴보세요!
document CSS 데모 저는 미인을 좋아합니다. 특히 키가 큰 미인을 좋아합니다. ;
이 문서의 DOM 표현은 다음과 같습니다.
사진은 HTML 문서의 트리를 나타냅니다.
모든 DOM 트리 구조는 다양한 유형의 Node 객체로 표현됩니다. firstChild, lastChild, nextSibling, PreviousSibling 및 ParentNode 속성은 노드
,appendChild 트리를 순회하는 방법을 제공합니다. ,removeChild, replacementChildh 및 insertBefore와 같은 메소드는 문서에 노드를 추가하거나 문서에서 노드를 삭제할 수 있습니다. 이해가 안 되셔도 괜찮습니다. 다음으로 이해를 돕기 위해 다양한 예를 들어보겠습니다. 1. 먼저 CSS로 미화된 목록을 생성합니다
2. div 요소를 추가합니다.
코드를 복사합니다.
4. 위 그림에 따라 전체 요소 수를 가져옵니다
코드를 복사합니다
코드는 다음과 같습니다: var Tools = {} Tools.getElementCount = function(e){ var count =0
elementTotal(e); >document.table.txt.value = "element:" count;
function elementTotal(e) { if(e.nodeType == 1) count var children = e.childNodes ; for(var i = 0;i{ elementTotal(children[i]) } }; 참고: 모두를 추가하여 요소 수를 얻을 수 있습니다 텍스트는 모두 대문자 코드 복사
코드는 다음과 같습니다.
}
참고:
대문자 효과:
6. 목록 정렬
Tools.documentSort = function(e){ var textArray = [] if(typeof e == "string") e = document.getElementById(e) for; (var x = e.firstChild; x!= null;x=x.nextSibling) if(x.nodeType == 1) textArray.push(x) textArray.sort(function(n,m) ){ var s = n.firstChild.firstChild.data; var t = m.firstChild.firstChild.data; if(s>t) return else if(s< ;t) return 1; else return 0; })
참고:
정렬버튼> 효과:
7. 목록 항목을 동적으로 삽입(하위 노드)
Tools.insertElement = function(n,e){ if(typeof n == "string") n = document.getElementById(n); 🎜>var li = document.createElement(e); var a = document.createElement("a") a.setAttribute("href","#") var txt = document .createTextNode("HotBlog"); li.appendChild(a); var parent = n.parentNode; parent.insertBefore(li,n); }; 참고: <버튼 유형 ="button" onclick="Tools.insertElement('myblog','li');">삽입 버튼>을 추가할 수 있습니다. ;
효과:
8. 자바스크립트 클래스를 사용하여 동적으로 문서 생성1. 스타일시트
코드 복사
코드는 다음과 같습니다. .tooltip{Background:url('2.jpg'); border:solid 1px #99ffcc; width:200px;height:200px;}//모두가 원합니다. 여기에서 사진을 클릭하세요.
.toolcontent{ background-color:#ffffff; border:solid 1px #99ff00; padding:5px; color:#000000;} 2. javascript class
{ this.tooltip = document.createElement("div"); this.tooltip.style.position = "absolute"; this.tooltip.className = "tooltip"; content = document.createElement( "div"); this.content.style.position = "relative"; this.content.className = "toolcontent" this.tooltip.appendChild(this. 콘텐츠); } Tooltip.prototype.show = function(text,x,y) { this.content.innerHTML = 텍스트 this.tooltip.style.left = x "px"; this.tooltip.style.top = y "px"; this.tooltip.style.visibility = "표시" if(this.tooltip.parentNode != 문서. body) document .body.appendChild(this.tooltip); Tooltip.prototype.hide = function(){ this.tooltip.style.visibility ="hidden";}; >var t = new Tooltip (); function hide() { t.hide() } function show() { t.show ("hello ",300 ,0); } function init() { document.operator.show.onclick = 표시 document.operator.hide.onclick = 숨기기 ; } 참고: 위를 사용하려면 다음 단계도 완료해야 합니다. 1. 본문에 onload=init();2를 추가합니다.
효과: (보이는 것을 숨깁니다.)
9. 동적으로 스타일 추가 및 삭제 1. 스타일시트
코드 복사 🎜> 코드는 다음과 같습니다.
.container{font-family:tahoma;font-size:14px;border:solid 1px #99ffcc; 너비:200px;높이:140px;float:왼쪽;} .container ul{list-style:none;padding:1px 0px 0px 0px; 여백:0px;} .container ul li{ border-bottom:solid 1px #99ffcc; 여백:0px;높이:27px;} .container ul li a{배경색:회색;텍스트 장식:없음;디스플레이:블록; 테두리 왼쪽:단색 10px 빨간색;여백:0px; 패딩:5px 0px 5px 10px;} .container ul li a:hover{배경색상:빨간색; 색상:#ffffff; }
2、工具函数(动态添加、删除样式)
var CSSclass = {}; CSSclass.is = function(e,c){ if(typeof e == "string") e = document.getElementById(e); var 클래스 = e.className; if(!classes)는 false를 반환합니다. if(classes == c)는 true를 반환합니다. return e.className.search("\b" c "\b*") != -1; }; CSSclass.add = function(e,c){ if(typeof e == "string") e = document.getElementById(e); if(CSSclass.is(e,c))return; //if(e.className) c="" c; e.className = c; }; CSSclass.remove = function(e,c){ if(typeof e == "string") e = document.getElementById(e); //e.id = e.id.replace(new RegExp("\b" e.id "\b\s*","g"),""); e.className = e.className.replace(new RegExp("\b" c "\b\s*","g"),""); };
3、현재中加入如下元素
效果:
没添加样式的样子 加了样式之后。
small结:Dom文档操작、内联样式、动态设置样式等就给大家分享到这里吧! 🎜>
(很多没有备注,大家有问题可以给我留言!)