JavaScript基础&Demo(二)

JavaScript基础&Demo(二)

目录

JavaScript基础&Demo-2. 1

一、         案例1---在末尾添加节... 1

二、         Element对象... 2

三、         Node对象... 2

2.1        获得node的所有子标签... 2

2.2        常用属性:... 2

2.3        父节点,子节点,同辈节点... 2

四、         操纵DOM... 3

五、         innerHTML属性... 3

六、         案例2—动态显示时间... 4

6.1        过程:... 4

6.2        代码:... 4

七、         案例3:全选练习... 4

7.1        设计流程:... 4

7.2        demo3.html代码... 5

八、         案例4:下拉列表左右选择... 7

8.1        下拉选择框的属性 ---select. 7

8.2        过程... 7

8.3        实现代码... 7

九、         案列5:省市联动... 10

9.1        创建流程:... 10

9.2        代码实现:... 10

十、         案例6:动态生成表格... 11

10.1          页面设计... 11

10.2          设计过程:... 12

10.3          代码实现... 12

 


 

 

一、          案例1---在末尾添加节

a)        创建新的节点。createElement(“ElementName”);

b)        创建新的文本节点。createTextNode()

c)        在节点中添加文本节点。appendChild()

d)        将节点加在所要放置的父节点下。

二、          Element对象

         要操作Element对象,首先要获取到Element对象。

         --通过document.getElementById()

        

方法名

作用

备注

getAttribute(“属性名称”)

获取元素的属性

传统的元素.属性的方式获得某个属性值的时候,如果获取的是关键字,则会出错。而同通过这个方法可以避免这些错误。

setAttribute(“属性名称”,value)

给某个属性赋值。

不同的浏览器的缓存机制不同。

removeAttribute(“属性名称”)

删除某个属性

不能够删除value值。

document.getElementByTagName(“标签名”)

获得某个标签的子标签的唯一方法。

使用时采用的时tagname. .getElementByTagName(“标签名”)使用。

childNodes()

获取某个标签的子标签

兼容性不好,不适用

三、          Node对象

2.1    获得node的所有子标签   

获取莫个节点的所有子标签。

1、  首先获得父节点:getElementById(“”)

2、  通过父节点标签调用childNodes()获得子标签,但是这个方法会导致空格等信息都看作看一个属性,返回子标签的集合

3、  采用getElementByTagName(“标签名”)获取标签集合,获取标签下的子标签唯一有效的方法,他是属于document方法。

2.2    常用属性:

属性名

作用

备注

nodeName

节点名称

 

nodetype

节点类型

1:元素节点

2:属性节点

3:文本节点

nodeValue

节点值

 

2.3    父节点,子节点,同辈节点

父节点与子节点的关系:在树种,由一个节点向另一个节点引出一条有向边,这个节点在这个节点对中称作父节点,被连接的节点称作子节点。父节点再引出一条有向边到另一个节点,则这两个被引出的节点的值被称作同辈节点或兄弟姐妹节点。

 

属性名

作用

备注

ParentNode

获得父节点

 

childNodes

获得所有子节点

兼容性差,不用

firstChild

获得第一个子节点

 

lastChild

获得最后一个子节点

 

nextSibling

获得下一个同辈节点

 

pervirousSibling

获得上一个同辈节点

 

 

四、          操纵DOM

常见的属性或者方法:

方法

作用

备注

appendChild(tagName)

在该节点下添加一个子节点

类似于剪切黏贴的效果,也就是说会将节点移动到其他的父节点下。

insertBefore(newNode,oldNode)

在某个节点之前加入一个新的节点。

两个参数要加入的节点,和旧节点。

removeChild(tagName)

删除节点

自己不能够删除自己,只能够通过父节点进行删除。

replace(newNode,oldNode)

使用新的节点替换旧的节点。

需要通过父节点进行替换操作。

cloneNode(boolean)

赋值节点

Booleantrue复制子节点,为false不复制子节点

五、          innerHTML属性

         特性:

1、  不是dom的组成

2、  部分,是大多数浏览器都支持的属性

3、  获取文本的内容、

4、  向标签内部设置内容(可以是html代码)

六、          案例2—动态显示时间

6.1    过程:

1、  得到当前时间。

a)        var date = new Date();

b)        var d1 = date.toLocaleString()

2、  页面定时获取时间。

setInterval 方法定时器

3、  每一秒向页面显示一个时间

6.2    代码:

//demo2.html

<html>

         <head>

         </head>

         <body>

                   <div id ="times">

                           

                   </div>

                   <script type ="text/javascript">

                            function getD1(){

                                     var date =new Date();

                                     //格式化

                                     d1=date.toLocaleString();

                                     //获取div

                                     var div1 =document.getElementById("times");

                                     div1.innerHTML= d1;

                            }

                            setInterval("getD1()",1000);

                   </script>

         </body>

</html>

七、          案例3:全选练习

7.1    设计流程:

1、  创建一个页面

1.        复选框和按钮、

a)        四个复选框表示爱好

b)        还有一个复选框操作,全选和不选,也有一个事件

2.        三个按钮分别有事件

a)        全选

操作步骤:

1.        获取要操作的复选框

2.        返回数组:

3.        复选框:checked = true 选中,checked = false 不选中

b)        全不选

c)        反选

7.2    demo3.html代码


<html>

         <head>

         </head>

         <body>

                   <inputtype="checkbox" id = "boxid" οnclick="selAllNo()"/>全选/全不选

                   <br/>

                   <inputtype="checkbox" name = "love"/>篮球<br/>

                   <inputtype="checkbox" name = "love"/>排球<br/>

                   <inputtype="checkbox" name = "love"/>羽毛球<br/>

                   <inputtype="checkbox" name = "love"/>乒乓球<br/>

 

                   <inputtype="button" value = "全选" onclick ="selAll()"/>

                   <inputtype="button" value = "全不选" onclick ="selNo()"/>

                   <inputtype="button" value = "反选" onclick ="selOther()"/>

 

                   <scripttype = "text/javascript">

                            functionselAll(){

                                     varcheckboxs = document.getElementsByName("love");

                                     for(vari = 0;i<checkboxs.length;i++){

                                               varlove1 = checkboxs[i];

                                               love1.checked= true;

                                     }

 

                            }

                            functionselAllNo(){

                                     varcheckboxs = document.getElementsByName("love");

                                     varcheckAllBox = document.getElementById("boxid");

                                     varflag = checkAllBox.checked;

                                     for(vari = 0;i<checkboxs.length;i++){

                                               varlove1 = checkboxs[i];

                                               if(flag){

                                                        love1.checked= true;

                                               }

                                               else{

                                                        love1.checked= false;

                                               }

                                     }

 

                            }

                            functionselNo(){

                                     varcheckboxs = document.getElementsByName("love");

                                     for(vari = 0;i<checkboxs.length;i++){

                                               varlove1 = checkboxs[i];

                                               love1.checked= false;

                                     }

                            }

                            functionselOther(){

                                     varcheckboxs = document.getElementsByName("love");

                                     for(vari = 0;i<checkboxs.length;i++){

                                               varlove1 = checkboxs[i];

                                               if(love1.checked==true){

                                                        love1.checked= false;

                                               }else{

                                                        love1.checked= true;

                                               }

                                     }       

                            }

                   </script>

         </body>

</html>


 

八、          案例4:下拉列表左右选择

8.1    下拉选择框的属性 ---select                

属性名

效果

 

multiple =””

显示所有的属性

 

 

 

 

 

8.2    过程

a)        创建一个页面

                        i.             两个下拉选择框

1.        设置属性         multiple

                      ii.             有四个按钮,存在四个事件

8.3    实现代码

 

//demo4.html


<html>

         <head>

                   demo4

         </head>

         <body>

                   <br/>

                   <selectname="" id="selLeft" multiple = " multiple">

                            <optionvalue=""> AA</option>

                            <optionvalue=""> BB</option>

                            <optionvalue=""> CC</option>

                            <optionvalue=""> DD</option>

                   </select>

                   <selectname="" id="selRight"multiple = " multiple">

                            <optionvalue=""> EE</option>

                   </select>

                   <br/>

                   <inputtype="button" value = "one left to right" οnclick="oneLeftToRight()"/>

                   <inputtype="button" value = "one right to left" οnclick="oneRightToLeft()"/>

                   <br/>

                   <inputtype="button" value = "All left to right"οnclick="allLeftToRight()"/>

                   <inputtype="button" value = "All right to left"οnclick="allRightToLeft()"/>  

                   <script>

                            functiononeLeftToRight(){

                                     varselectLeft = document.getElementById("selLeft");

                                     varselectRight = document.getElementById("selRight");

                                     varoptions = selectLeft.getElementsByTagName("option");

                                     for(vari = 0 ;i<options.length;i++){

                                               option= options[i];

                                               if(option.selected){

                                                        selectRight.appendChild(option);

                                                        i--;

                                               }

                                     }

                            }

                            functiononeRightToLeft(){

                                     varselectLeft = document.getElementById("selRight");

                                     varselectRight = document.getElementById("selLeft");

                                     varoptions = selectLeft.getElementsByTagName("option");

                                     for(vari = 0 ;i<options.length;i++){

                                               option= options[i];

                                               if(option.selected){

                                                        selectRight.appendChild(option);

                                                        i--;

                                               }

                                     }

                            }

                            functionallLeftToRight(){

                                     varselectLeft = document.getElementById("selLeft");

                                     varselectRight = document.getElementById("selRight");

                                     varoptions = selectLeft.getElementsByTagName("option");

                                     for(vari = 0 ;i<options.length;i++){

                                               option= options[i];

                                               selectRight.appendChild(option);

                                               i--;

                                     }

                            }

                            functionallRightToLeft(){

                                     varselectLeft = document.getElementById("selRight");

                                     varselectRight = document.getElementById("selLeft");

                                     varoptions = selectLeft.getElementsByTagName("option");

                                     for(vari = 0 ;i<options.length;i++){

                                               option= options[i];

                                               selectRight.appendChild(option);

                                               i--;

                                     }

                            }

                   </script>

         </body>  

</html>


 

 

九、          案列5:省市联动

9.1    创建流程:

1、  创建页面

a)        两个下拉选择框。

b)        第一个下拉框中存在一个onchange事件,当一个下拉框被选择时会触发这一个事件。

9.2    代码实现:  

         //demo5.html

         <html>

         <head>

                   demo5

         </head>

         <body>

                   <br/>

                   <selectname="" id="country" onchange = "add()">

                            <optionvalue="0">----please select----</option>

                            <optionvalue="China">China</option>

                            <optionvalue="Amer">amer</option>

                            <optionvalue="De">de</option>

                            <optionvalue="Japan">Japan</option>

                   </select>

                   <selectname="" id="city"> </select>

                   <br/>

                   <inputtype = "button" value = "test" οnclick="add()"/>

                   <script>

                   //存放城市数

                            vararr = new Array(4)

                            arr[0]= ["China","NanJin"];

                            arr[1]= ["Amer","HuaShengDun"]

                            arr[2]= ["De","BoLin"]

                            arr[3]= ["Japan","BeiHaiDao"]

                            functionadd(){

                                     removeAll();

                                     varselectCountry = document.getElementById("country");

                                     varoptions = selectCountry.getElementsByTagName("option");

                                     varvalue ;

                   //获取用户选择的值

                                     for(var i =0;i<options.length;i++) {

                                               if(options[i].selected){

                                                        value= options[i].value;

                                               }

                                     }

                                     varselectCity = document.getElementById("city");

                                     for(vari = 0 ;i<arr.length;i++){

                                               if(arr[i][0]==value){

                                                        for(varj = 1;j<arr[i].length;j++){

                                                                 varoption = document.createElement("option");

                                                                 vartext = document.createTextNode(arr[i][j]);

                                                                 option.appendChild(text)

                                                                 selectCity.appendChild(option);

                                                        }

                                               }

                                     }

                            }

                            //移除城市复选框的所有元素

                            functionremoveAll(){

                                     varselectCity= document.getElementById("city");

                                     varoptions = selectCity.getElementsByTagName("option");

                                    

                                               for(var i = 0 ;i<options.length;i++){

                                                        varoption = options[i];

                                                        selectCity.removeChild(option);

                                                        i--;

                                               }

                                     //alert("removesucess")

                            }

                   </script>

 

         </body>

</html>

十、          案例6:动态生成表格

10.1  页面设计

a)        两个输入框,行列

b)        一个按钮,生成表格。

10.2  设计过程:

a)        得到输入的列和行的值

b)        生成表格

c)        循环行

d)        循环列

e)        显示到页面

f)         把表格的代码设置到div里面

g)        使用innerHTML属性

10.3  代码实现

//demo6.html


<html>

<head>

           demo6 create Table

</head>

<body>

           <br/>

           row: <input type="text"id = "row"/><br/>

           col : <input type ="text" id = "col"/><br/>

           <input type="button"value = "create" id = "create" onclick ="createTable()">

           <div id = 'tableDiv'>

                   

           </div>

           <script>

                    function createTable(){

                             /*

                             1、得到输入的列和行的值

                             2、生成表格

                                       循环行

                                       循环列

                             3、显示到页面

                                       -把表格的代码设置到div里面

                                       -使用innerHTML属性

                             */

                             //获取输入的行和列

                             var row =document.getElementById("row").value;

                             var col =document.getElementById("col").value;

 

                             //把表格的代码放到一个变量里面

                             var tab ="<table border = '1' border='blue'>"

                             //循环行

                                       for(var i= 1;i<=row;i++){

                                                tab+="<tr>"

                                                //循环列

                                                for(varj = 1;j<=col;j++){

                                                         tab+="<td>aaa</td>"

                                                }

                                                tab+="</tr>"

                                       }

                             tab+="</table>"

                             //得到div标签

                             var tableDiv =document.getElementById("tableDiv");

                             //table代码设置到div

                             tableDiv.innerHTML= tab;

                    }

           </script>

</body>

</html>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值