JS的DOM操作语法

整理了一下JS的DOM操作语法,这里记录一下。

  1 DOCTYPE html>
  2 <html>
  3 <head>
  4     <meta charset="utf-8">
  5     <title>js的DOM操作title>
  6     <style type="text/css">
  7         .dvClass{
  8             width: 300px;
  9             height: 400px;
 10             background-color: red;
 11         }
 12 
 13         .divHide{
 14             width: 500px;
 15             height: 300px;
 16             background-color: red;
 17             margin: 0 auto;
 18         }
 19 
 20         .divBorder{
 21             width: 200px;
 22             height: 150px;
 23             float: left;
 24             border: 1px solid #000;    /*#000是黑色*/
 25             margin-left: 20px;
 26             text-align: center;
 27             line-height: 165px;
 28             font-size: 19px;
 29         }
 30 
 31         #querySel{
 32 
 33         }
 34     style>
 35 head>
 36 <body>
 37     <input type="button" value="确定" id="btn">
 38     <input type="button" value="确定">
 39     <input type="button" value="确定">
 40 
 41     <div id="dv">你好div>
 42     <div id="dv3"><p>新年好p>div>
 43     <div>大家好div>
 44 
 45     <img src="" id="picture">
 46 
 47     <img src="desk.jpg" id="picture2">
 48 
 49     <a href="desk.jpg" id="aid"><img src="deskSmall.jpg" id="srcid">a>
 50 
 51     <div class="divHide" id="dv2">div>
 52     <input type="button" value="显示" id="show">
 53     <input type="button" value="隐藏" id="hide">
 54     <input type="button" value="隐藏" name="" id="showAndHide">
 55 
 56     <input type="text" name="" id="tx">
 57     <input type="button" name="" value="只读" id="btn1">
 58 
 59     <a href="www.baidu.com" id="a1">百度a>
 60 
 61     <ul id="ul1">
 62         <li>隔行变色li>
 63         <li>隔行变色li>
 64         <li>隔行变色li>
 65         <li>隔行变色li>
 66     ul>
 67     <hr>
 68     <ul>
 69         <li>隔行变色li>
 70         <li>隔行变色li>
 71         <li>隔行变色li>
 72         <li>隔行变色li>
 73     ul>
 74     <input type="button" name="" value="点击变色" id="btn2">
 75 
 76     <ul id="ul2">
 77         <li>隔行变色li>
 78         <li>隔行变色li>
 79         <li>隔行变色li>
 80         <li>隔行变色li>
 81     ul>
 82 
 83     <div class="divBorder">111div>
 84     <div class="divBorder">222div>
 85     <div class="divBorder">333div>
 86 
 87     <input type="text" name="" value="请输入内容" id="getFocus">
 88 
 89     <div id="querySel">12345div>
 90     <input type="button" name="" value="选择器获取元素" id="btn3">
 91 
 92     <div>aaadiv>
 93     <div>bbbdiv>
 94     <div>cccdiv>
 95     <input type="button" name="" value="setAttribute" id="setAtt">
 96 
 97     <div id="dv4">
 98         <p id="p1">11p>
 99         <span>22span>
100         <ul>
101             <li>33li>
102             <li>44li>
103             <li>55li>
104         ul>
105     div>
106     <input type="button" name="" value="创建" id="create">
107 
108     <div id="uu">div>
109     <input type="button" name="" value="创建" id="create2">
110 
111     <div id="delDiv">
112         <p>11p>
113         <span>22span>
114         <p>33p>
115         <span>中国span>
116     div>
117     <input type="button" name="" value="删除" id="del">
118 
119     <script type="text/javascript">
120         /*获取元素对象的方法*/
121         document.getElementById("id的值");
122         document.getElementsByTagName("标签名");        //返回的是数组
123         document.getElementsByTagName("name的值");    //返回的是数组
124         document.getelementsByClassName("class的值");    //返回的是数组
125         document.getElementById("btn3").onclick=function(){
126             var obj=document.querySelector("#querySel");    //根据选择器名(id选择器、类选择器)获取元素,并给元素内属性赋值
127             obj.style.width="300px";
128             obj.style.height="200px";
129             obj.style.backgroundColor="red";
130         }
131         
132 
133 
134         /*鼠标点击事件*/
135         //点击按钮,弹出对话框
136         var btnClick=document.getElementById("btn");    //通过document.getElementById()方法返回一个document对象,getElementById("btn")的作用是找到值为btn的id
137         btnClick.onclick=function(){    //定义一个点击事件
138             alert("hello world!");    //弹出框
139         }
140 
141         //点击按钮,通过标签id,改变div标签里面的内容
142         document.getElementById("btn").onclick=function(){
143             document.getElementById("dv").innerText="你好,世界";
144             //document.getElementById("dv3").innerText="新年好啊";    //因为dv3的内容是写在p标签里的,所以不能用innerText,否则p标签会消失
145             document.getElementById("dv3").innerHTML="新年好啊啊啊";
146         }
147 
148         //点击按钮,通过标签id,改变div标签的样式
149         document.getElementById("btn").onclick=function(){
150             //第1种方法
151             var obj=document.getElementById("dv");
152             obj.style.width="300px";
153             obj.style.height="300px";
154             obj.style.backgroundColor="#000";    //#000是黑色
155             obj.style.marginTop="20px";    //设置div上边距为20px
156 
157             //第2种方法(通过将标签的class属性,改成style里面的类选择器名)
158             obj.className="dvClass";    //这里可以同时赋多个className,用空格分隔,比如obj.className="dvClass dvClass2";
159         }
160 
161         //点击按钮,通过标签id,在img标签里,显示图片
162         document.getElementById("btn").onclick=function(){
163             document.getElementById("picture").src="desk.jpg";
164         }
165 
166         //点击图片,通过this关键字,改变img标签里,图片的宽和高
167         document.getElementById("picture2").onclick=function(){
168             this.width="300";    //图片的长宽比较特殊,所以不加px
169             this.height="300";
170         }
171 
172         //点击按钮,通过标签名字,获取到所有标签
173         document.getElementById("btn").onclick=function(){
174             var arr=document.getElementsByTagName("div");    //因为标签可能重复,所以通过标签名字获取到的是数组形式
175             for(var i=0;i<arr.length;i++){
176                 arr[i].innerText="全部改变";
177             }
178         }
179 
180         //点击按钮,通过标签id,和this关键字,改变按钮的内容
181         document.getElementById("btn").onclick=function(){
182             this.value="点击";
183         }
184 
185         //排他功能(即点击按钮后,按钮内容改变,再点击其他按钮,已经改变的按钮内容恢复)
186         var arr=document.getElementsByTagName("input");    //通过标签名字获取到的是数组
187         for(var i=0;i<arr.length;i++){
188             arr[i].onclick=function(){
189                 for(var j=0;j<arr.length;j++){
190                     arr[j].value="确定";
191                 }
192                 this.value="点击";
193             }
194         }
195 
196         //点击超链接,使图片不在新页面打开,而在当前页面打开
197         document.getElementById("srcid").onclick=function(){
198             this.src=document.getElementById("aid").href;
199             return false;    //必须要有这个
200         }
201 
202         //点击两个按钮,显示和隐藏div
203         document.getElementById("hide").onclick=function(){
204             document.getElementById("dv2").style.display="none";
205         }
206         document.getElementById("show").onclick=function(){
207             document.getElementById("dv2").style.display="block";
208         }
209 
210         //点击一个按钮,显示和隐藏div
211         document.getElementById("showAndHide").onclick=function(){
212             if(this.value=="隐藏"){
213                 document.getElementById("dv2").style.display="none";
214                 this.value="显示";
215             }else if(this.value=="显示"){
216                 document.getElementById("dv2").style.display="block";
217                 this.value="隐藏";
218             }
219         }
220 
221         //点击“只读”按钮,让文本框不可编辑
222         document.getElementById("btn1").onclick=function(){
223             document.getElementById("tx").disabled=true;
224         }
225 
226         //点击超链接,禁止跳转到链接的界面
227         document.getElementById("a1").onclick=function(){
228             return false;    //这句是禁止跳转的功能
229         }
230 
231         //列表各行变色
232         document.getElementById("btn2").onclick=function(){
233             var arr=document.getElementById("ul1").getElementsByTagName("li");    //只要第一个列表中的行变色
234             for(var i=0;i<arr.length;i++){
235                 if(i%2==0){
236                     arr[i].style.backgroundColor="red";
237                 }
238             }
239         }
240 
241 
242 
243         /*鼠标悬停和离开事件*/
244         //鼠标移到行上,行的颜色改变
245         var arr=document.getElementById("ul2").getElementsByTagName("li");
246         for(var i=0;i<arr.length;i++){
247             arr[i].onmouseover=function(){    //鼠标悬停事件
248                 this.style.backgroundColor="red";
249             }
250 
251             arr[i].onmouseout=function(){
252                 this.style.backgroundColor="#FFF";    //鼠标离开事件,#FFF是白色
253             }
254         }
255 
256         //div边框高亮显示
257         var arr=document.getElementsByTagName("div");
258         for(var i=0;i<arr.length;i++){
259             arr[i].onmouseover=function(){
260                 this.style.border="1px solid red";
261             }
262             arr[i].onmouseout=function(){
263                 this.style.border="1px solid #000";
264             }
265         }
266 
267 
268 
269         /*获取焦点和失去焦点事件*/
270         //获取到焦点,使文本框内容消失
271         document.getElementById("getFocus").onfocus=function(){
272             if(this.value=="请输入内容"){    //防止已经输入内容,再次修改时,内容被清空
273                 this.value="";
274             }
275         }
276 
277         // //失去焦点,使文本框内容恢复
278         document.getElementById("getFocus").onblur=function(){
279             if(this.value==""){    //避免输入内容后,失去焦点,输入的内容被清空
280                 this.value="请输入内容";
281             }
282         }
283 
284 
285 
286         /*标签属性*/
287         document.getElementById("setAtt").onclick=function(){
288             //设置属性
289             document.getElementsByTagName("div")[0].setAttribute("class","divBorder");    //[0]代表返回数组中的第一个元素,setAttribute里面分别是属性名和属性值
290             //获取属性
291             var obj=document.getElementsByTagName("div")[0].getAttribute("class");    //getAttribute里面填属性名就返回属性值,填属性值就返回属性名,没有就返回null
292             alert(obj);
293             //删除属性
294             document.getElementsByTagName("div")[0].removeAttribute("class");
295         }
296 
297 
298 
299         /*节点
300         类型:nodeType,值1为标签节点,2为属性节点,3为文本节点
301         名字:nodeName,大写的标签名——标签类型,小写的属性名——属性类型,#text——文本类型
302         节点的值:nodeValue,null——标签类型,属性值——属性类型,文本内容——文本类型*/
303         //获取标签的父节点
304         var obj=document.getElementById("p1").parentNode;    //获取父节点
305         console.log(obj);    //输出
,说明P1所在标签的父元素为
306 console.log("节点的类型:"+obj.nodeType+",节点的名字:"+obj.nodeName+",节点的值:"+obj.nodeValue); 307 308 //获取父级元素 309 console.log(document.getelement("dv4").parentElement); 310 311 //获取子节点 312 var obj1=document.getElementById("dv4").childNodes; //返回的是数组 313 console.log(obj1); //输出:NodeList(7) [ #text, p#p1, #text, span, #text, ul, #text ],所以一共有7个节点 314 315 //获取第一个子节点 316 console.log(document.getelement("dv4").firstChild); 317 318 //获取最后一个子节点 319 console.log(document.getelement("dv4").lastChild); 320 321 //获取子元素 322 var obj2=document.getElementById("dv4").children; 323 console.log(obj2); //HTMLCollection { 0: p#p1, 1: span, 2: ul, length: 3, … },所以一共有3个子元素 324 325 //获取第一个子元素 326 console.log(document.getElementById("dv4").firstElementChild); 327 328 //获取最后一个子元素 329 console.log(document.getElementById("dv4").lastElementChild); 330 331 332 333 /*创建标签*/ 334 //方法1 335 document.getElementById("create").onclick=function(){ 336 document.write("

增加的标签

"); //这种方式会将html里面其他标签都清空,只留这个增加的 337 } 338 339 //方法2 340 document.getElementById("create").onclick=function(){ 341 document.getElementById("dv4").innerHTML="

哈哈哈哈

"; //这种方式会将dv4所在标签内的,子标签都清空,只留增加的 342 } 343 344 //方法3 345 document.getElementById("create").onclick=function(){ 346 var obj=document.createElement("p"); //先创建一个p标签 347 document.getElementById("dv4").appendChild(obj); //然后添加,这种方式不清空之前的标签,只增加 348 } 349 350 //创建图片标签 351 document.getElementById("create").onclick=function(){ 352 document.getElementById("dv4").innerHTML=""; 353 } 354 355 //根据数组创建列表标签 356 document.getElementById("create2").onclick=function(){ 357 var arr=["新闻标题1","新闻标题2","新闻标题3","新闻标题4","新闻标题5","新闻标题6"]; 358 var str="
    "; 359 for(var i=0;i<arr.length;i++){ 360 str+="
  • "+arr[i]+"
  • "; 361 } 362 str+="
"; 363 document.getElementById("uu").innerHTML=str; 364 } 365 366 367 368 /*删除元素*/ 369 document.getElementById("del").onclick=function(){ 370 document.getElementById("delDiv").removeChild(document.getElementById("delDiv").firstElementChild); //删除第一个元素 371 document.getElementById("delDiv").removeChild(document.getElementById("delDiv").lastElementChild); //删除第一个元素 372 } 373 script> 374 body> 375 html>

 

你可能感兴趣的:(JS的DOM操作语法)