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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
 
 
<script type="text/javascript">
 
 
    //태그 검색
    //    -> 태그의 식별자 존재
    //        1. 태그명
    //        2. name 속성
    //            - BOM
    //            - BOM의 접근 방식에서 사용되는 식별자
    //            - 서버로 전송될 때 데이터의 이름(*****)
    //        3. id 속성
    //            - CSS, DOM(getElementById)
    //        4. class 속성
    
    //태그 조작
    //1. 속성값 조작
    //    a. BOM
    //        - HTML 태그에서 존재하는 속성의 이름이 거의 대부분 자바스크립트 속성으로 제공된다.(GET/SET)
    //            ex) <a href="#" title="풍선도움말">
    //                document.links[0].title = "풍선도움말";
    
    //    b. DOM
    //        - HTML 태그에서 존재하는 속성의 이름을 DOM 메소드의 인자값(key)으로 사용해서 제공된다. (Hashmap과 유사)
    //        - 태그.setAttribute(key, value); *
    //        - 태그.getAttribute(key); *
    
    
    //2. PCDATA 조작
    //3. 자식 태그 조작
    
    
    
    function test() {
        
        ////1. <a> 태그 찾기
        // a. BOM -> name 식별자로 찾았을 때
        //document.links[0]
        //document.links["link1"].title = "네이버로 이동합니다.";
        
        // b. DOM -> id 식별자 " 
        //document.getElementById("link1").title = "다시 풍선 도움말";
        
        
            //속성값 조작        
        var link1 = document.links["link1"]; //BOM
        var link1 = document.getElementById("link1"); //DOM
        
        //link1 == link2
        //    : 검색 방법이 다르더라도 찾은 객체는 동일한 객체
        //link1.title = "도움말1";
        //link2.title = "도움말2";    //BOM
        
         //link1.setAttribute("title", "도움말3");
        //link2.setAttribute("title", "도움말4"); //DOM
 
        //link1.href = "http://www.google.com";
        //link1.target = "_blank";                //BOM
        
        //link1.setAttribute("href", "http://www.yahoo.com");
        //link1.setAttribute("target", "_blank");    //DOM
 
                
            //PCDATA조작        
        link1.href = "http://www.daum.net";
        link1.target = "_blank";
        link1.innerText = "다음"//DOM
        
        
        
        ////2. <img /> 태그 찾기
        // a. BOM
        //document.images[0]
        //var img1 = document.iamges["img1"];
        
        //img1.width = 500;
        //img1.height = 500;
        //img1.src = "images/catty02.png";
        
        
        // b. DOM
        var img1 = document.getElementById("img1");
        //img1.setAttribute("src", "images/catty03.png";)
        
        //img1.setAttribute("width", "128"); //setter
        
        
        //초기상태 접근 시에만.,
        //BOM은 HTML 태그에서 명시적으로 선언된 속성 or 암시적으로 선언된 속성 모두 가져오기 가능
        //DOM은 HTML 태그에서 명시적으로 선언된 속성만 가져오기
        //var w = img1.getAttribute("width"); //getter
        //var w = img1.width;                        
        //alert(w);
        
        var w = img1.width;
        img1.width = w + 10;
        
        var w = img1.height;
        img1.height = h - 10;
        
        
        ////3. 텍스트 박스 찾기
        // a. BOM
        //document.forms[0]
        //document.forms["forms1"]
        //document.forms1
        
        //document.form1.elements[0] : 모든 컨트롤이 포함        
        //var txt1 = document.form1.txt1;
        //txt1.value = "클릭했습니다.";
        //alert(txt1.value);
        //숫자만 입력.,
        /* if (isNaN(txt1.value)) {
            alert("숫자가 아닌값을 입력했습니다.");
        } */
        
        // b. DOM
        //document.getElementById("cb1").checked = true;
        
        
        
        
                
        //여기까지 BOM 모델에 속한 태그만 검색
        //    -> 검색 후 소유하고 있는 속성이나 PCDATA를 제어 + CSS 제어
        //------------------------------------------------
        //이후부터 BOM 모델에 속하지 않는 태그를 검색해보자~
        //(a, img, form(자식) 를 제외한 나머지 태그)
        // 찾게 되는 이유 -> 검색 후 PCDATA를 제어 + CSS 제어
        
        
        
        
        ////4. <div> 태그
        // a. BOM
        //    -> 지원안함(못찾음)
        // b. DOM
        var div1 = document.getElementById("div1");
        div1.innerText = "접근했습니다.";
        
        
        ////5. <p>
        var p1 = dovument.getElmentById("p1");
        p1.innetText = "하하하하";
                    
    }
 
    
</script>
 
 
</head>
<body>
 
 
    <!-- ex11.htm -->
    <!-- 태그 검색 -->
 
 
    
    <input type="button" value="테스트" onclick="test();" />
    <hr />
    
    
    <a href="http://www.naver.com" name="link1" id="link1">네이버</a>
    <br /><br />
    
    
    <img src="images/catty01.png" name="img1" id="img1" width="128" />
    <br /><br />
    
    
    <form name="form1" id="form1">
        컨트롤 : <input type="text" name="txt1" id="txt1" />
        <br /><br />
        <input type="checkbox" name="cb1" id="cb1" />
    </form>
    
    
    <br /><br />
    <div id="div1">상자입니다.</div>
    <p id="p1">문단입니다.</p>
 
 
 
</body>
</html>
 
cs


'WEB > JS' 카테고리의 다른 글

마우스 이벤트 / 키보드 이벤트  (0) 2016.01.22
태그 조작  (0) 2016.01.22
BOM test  (0) 2016.01.22
부모, 자식 찾기  (0) 2016.01.22
BOM / DOM 방식  (0) 2016.01.22

+ Recent posts