程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> JavaWeb進修筆記分享(必看篇)

JavaWeb進修筆記分享(必看篇)

編輯:關於JAVA

JavaWeb進修筆記分享(必看篇)。本站提示廣大學習愛好者:(JavaWeb進修筆記分享(必看篇))文章只能為提供參考,不一定能成為您想要的結果。以下是JavaWeb進修筆記分享(必看篇)正文


自界說列表

    <dl></dl>:表現列表的規模

        **在外面 <dt></dt>:下層內容

        **在外面 <dd></dd>:基層內容

 

有序列表

    <ol></ol>:有序列表的規模

        --屬性 type:設置排序方法,1(默許),a,i、、

        **在ol標簽外面 <li>詳細內容</li>

   

無序列表

    <ul></ul>:無序列表的規模

        --屬性 type:circle(空心圓)、disc(默許的實心圓)、square(實心方塊)

        **在ul標簽外面 <li>詳細內容</li>

 

圖象標簽

    --屬性:src、width、height、alt(圖片上顯示的文字,把鼠標挪動到圖片上,逗留少焉顯示內容 或許是圖片顯示失足時顯示的文字,但有些閱讀器不顯示,沒有用果)

        ** <img src="圖片的途徑"/>

 

途徑的引見

    *分類:兩類

    **相對途徑 eg. http://www.百度.com/b.jpg

    ***三種絕對途徑 一個文件絕對於別的一個文件的地位

        --html文件和圖片在統一個途徑(目次)下,可以直接寫文件稱號

        --在html文件中,應用與其在統一個途徑下的img文件夾下的a.jpg文件 應用辦法:img\a.jpg

            **d:\htmlstudy\code\4.html

            **d:\htmlstudy\code\img\a.jpg

        --圖片在html文件的下層目次中,此時圖片應用辦法:../c.png     ../表現下層途徑    

               

超鏈接標簽

    **鏈接資本

    -- <a href="鏈接到資本的途徑">顯示在頁面上的內容</a>

        **href:鏈接的資本的地址

        **target:設置翻開的方法,默許是在以後頁翻開

            --_blank :在一個新窗口翻開

            --_self :在以後頁翻開 默許的

    --<a href="#">鏈接題目</a>:當超鏈接不須要跳轉到頁面時,在href中添加#(占位符)便可以了

    **定位資本

        --假如想要定位資本:界說一個地位

            <a name="top">頂部</a>

        --回到這個地位

                <a href="#top">回到頂部</a>

               

        --原樣輸入標簽:<pre>須要原樣輸出的內容</pre>

           

表格標簽

    *感化:可以對數據停止格局化,使數據顯示加倍清楚

    *屬性 border(表格線粗細) bordercolor(表格線色彩) cellspacing(單位格間間隔) width height

    *<table></table> : 表現表格的規模

    **在table外面,表現一行 <tr></tr>

    --設置對齊方法 align :left center right

        ***在tr外面,表現一行裡邊的單位格 <td></td>

        **應用th也能夠表現單位格:表現可以完成居中和加粗

    *表格的題目,放在table裡邊 <caption></caption>

    *操作技能:

        **起首數有若干行,在數每行外面有若干個單位格   

    *歸並單位格

        **rowspan :跨行(縱向歸並)

            <td rowspan="3" align="center">13</td>

        **colspan :跨列(橫向歸並)

            <td colspan="3" align="center">表格演習</td>

 

表單標簽

*例如注冊高興網時,可以提交數據到高興網的辦事器,這個進程可使用表單標簽完成

* <form></form> :界說一個表單規模

*屬性:

        ** action :提交到的地址,默許提交到 以後的頁面

        ** method : 表單的提交方法

            --經常使用的有兩種: get 和 post ,默許是get要求

        ** get 和 post 的差別

            1)get要求地址欄會攜帶提交的數據,post不會攜帶(數據在要求體外面)

            2)get要求平安級別較低,post較高

            3)get要求數據年夜小無限制,post沒無限制

        ** enctype :普通要求下不須要這個屬性,做文件上傳時刻須要設置這個屬性

    **輸出項:可以輸出內容或許選擇內容的部門

        --年夜部門的輸出項可以使用 <input type="輸出項類型"/>

        ********在輸出項外面須要有一個name屬性

 

        ***通俗輸出項:<input type="text"/>

        ***暗碼輸出項:<input type="password"/>

        ***單選輸出項:<input type="radio"/>

            --在裡邊須要屬性 name

            --name的屬性值必需要雷同

            --必需要有一個value值

            ****完成默許選中的屬性

                ***checked="checked"

        ***復選輸出項:<input type="checkbox"/>

            **在裡邊須要屬性 name

            **name的屬性值必需要雷同

            **必需要有一個value值

            ****完成默許選中的屬性

                ----checked="checked"

        ***文件輸出項:<input type="file"/>

        ***下拉輸出項(不是在input標簽外面的)

            <select name="birth">

                <option value="0">請選擇</option>

                <option value="1991">1991</option>

                <option value="1992">1992</option>

                <option value="1993">1993</option>

            </select>

            ****完成默許選中的屬性

                ----selected="selected"

        *** 文本域(如:注冊賬號時填寫小我信息簡介的方框)

            <textarea cols="5" rows="20"></textarea>

        ***隱蔽項(不會顯示在頁面上,然則存在於 html代碼外面)

            <input type="hidden"/>

        ***提交按鈕

            <input type="submit"/>

            <input type="submit" value="按鈕題目"/>

            --提交之前地址:C:\Users\HappyDog\Desktop\index.html   

            **當在輸出項外面寫了name屬性以後

            --file:///c:/users/happydog/desktop/index.html?phone=123123&pwd=12321312&sex=man&love=y&love=pp&birth=1992&tex=1231245

 

            **?輸出項name的值=輸出的值&

            **參數相似於key-value情勢

 

        ***應用(點擊)圖片來提交

            <input type="image" src="圖片途徑"/>

 

        ***重置按鈕 :回到輸出項的初始狀況

            <input type="reset"/>

            <input type="reset" value="按鈕題目"/>

 

        ***通俗按鈕(和js在一路應用的)

            <input type="button" value=""/>

 

案例:應用表單標簽完成注冊頁面

    表格單位格內容為空時,普通用占位符( (本義空格))來填充

 

html中的其他的經常使用標簽的應用

    ** b(加粗) s(刪除線) u(下劃線) i(斜體) pre(原樣輸入) sub(下標) sup(上標) div(主動換行) span(在一行顯示) p(段落標簽)   

 

html的頭標簽的應用

    **html兩部門構成 head 和 body

    **在head外面的標簽就是頭標簽

    **title標簽:表現在標簽上顯示的內容

    **<meta>標簽 :設置頁面的一些相干內容

        --<meta name="keywords" content="" />

        --<meta http-equiv="refresh" content="10;url=Test_form.html" />准時跳轉到指定頁面

    **base標簽 :設置超鏈接的根本的設置

        --可以同一設置超鏈接的翻開方法 <base target="_blank" />

    **link標簽 :引入內部文件

 

框架標簽的應用

    **<frameset>

        **rows :依照行停止劃分

            <frameset rows="80,*"> 分紅高低兩部門,上邊80,下邊隨意率性

        **cols :依照列停止劃分

            <frameset cols="80,*"> 分紅閣下兩部門,右邊80,左邊隨意率性

    **<frame> 詳細顯示的頁面

        **<frame name="lower_left" src="b.html">

    *應用框架標簽的時刻,不克不及寫在head和body外面,應用了框架標簽,須要把body去失落,寫在head外邊

 

    *假如在右邊的頁面超鏈接,想讓內容顯示在左邊的頁面中,可以設置超鏈接外面的target屬性,將target的值設置為框架中的名字

        **<a href="http://www.百度.com" target="right">百度</a><br/>

    <frameset rows="80,*">

        <frame name="top" src="a.html">

        <frameset cols="120,*">

            <frame name="left" src="b.html">

            <frame name="right" src="http://www.百度.com">

        </frameset>

    </frameset>

常識總結

    1)html操作思惟:應用標簽把要操作的數據包起來,經由過程修正標簽的屬性值,來完成標簽內數據款式的變更

    2)font標簽 屬性:size 取值規模1-7 color:十六進制數 #ffffff

    3)題目標簽 <h1></h1>......<h6></h6> :從h1到h6字體愈來愈小,主動換行

    4)正文

 

CSS的簡介

    **CSS:層疊款式表

        ** 層疊:一層一層的

        ** 款式表:許多的屬性和屬性值

    **使頁面顯示後果加倍好

    **CSS將網頁內容和顯示款式停止分別,進步了顯示功效

 

CSS和html的聯合方法(四種聯合方法)

    1)在每一個html標簽下面都有一個屬性 style,把CSS和html聯合在一路

        -- <div id="" class="" >天之道,損不足而補缺乏,是故虛勝實,缺乏勝不足。</div>

    2)應用html的一個標簽完成 <style>標簽,寫在head外面

        -- <style type="text/css">

                css代碼;

         </style>

 

    ----代碼完成<head>   

                <style type="text/css">

                    div{

                        background-color:blue;

                        color:red;

                    }       

                </style>

                </head>

                <body>   

                    <div id="" class="">

                        天之道,損不足而補缺乏,是故虛勝實,缺乏勝不足。

                    </div>

                </body>

    3)在style標簽外面 應用語句

        @import url(css文件的途徑);

               

        -- 第一步:創立一個css文件

        ---- <style type="text/css">

                @import url(div.css);

         </style>

    4)應用頭標簽 link,引入內部css文件 放在<head></head>裡邊

        -- 第一步:創立一個css文件

        -- <link rel="stylesheet" type="text/css" href="css文件的途徑"/>

    ****第三種聯合方法的缺陷:在某些閱讀器下不起感化,普通應用第四種方法

    ****優先級(普通)

        由上到下,由內到外,優先級由低到高。

        後加載的優先級高

    ****格局:選擇器稱號{屬性名:屬性值;屬性名:屬性值;......}

 

css的根本選擇器(三種)

    **要對誰人標簽外面的數據停止操作

    1)標簽選擇器 div {css代碼}

        --應用標簽名作為選擇器的稱號

        <head>   

            <style type="text/css">

                div{

                    background-color:blue;

                    color:red;

                }   

            </style>

        </head>

        <body>

            <div>aaaaaa</div>

         </body>

    2)class選擇器 .稱號 {}

        **每一個html標簽都有一個屬性 class

        **<head>   

                <style type="text/css">

                    div.test{

                        background-color:blue;

                        color:red;

                    }   

                    p.test{

                        background-color:blue;

                        color:red;

                    }

            可以簡寫為:

                    .test{

                        background-color:blue;

                        color:red;

                    }

                </style>

         </head>

        **<body>

            <div class="test">aaaaaa</div>

            <p class="test">bbbbbbbbb</p>

         </body>   

    3)id選擇器 #稱號 {}

        **每一個html標簽下面都有一個屬性 id

        --<div id="test">cccccccccc</div>

        --<head>   

                <style type="text/css">

                    div#test{

                        background-color:blue;

                        color:red;

                    }   

                    p#test{

                        background-color:blue;

                        color:red;

                    }

            可以簡寫為:

                    #test {

                        background-color:blue;

                        color:red;

                    }

                </style>

         </head>

        --<body>

            <div id="test">aaaaaa</div>

            <p id="test">bbbbbbbbb</p>

         </body>

    **優先級 style > id選擇器 > class選擇器 > 標簽選擇器

 

css的擴大選擇器(懂得)

    1)聯系關系選擇器 嵌套標簽的款式的設置

        **<div><p>wwwwwwwwww</p></div>

        **設置div標簽外面p標簽的款式,嵌套標簽外面的款式

        --<head>   

                <style type="text/css">

                    div p {

                        background-color:blue;

                        color:red;

                    }    

                </style>

         </head>

        --<body>

            <div><p>wwwwwwwwww</p></div>

            <p>aaaaaa</p>

         </body>

    2)組合選擇器 分歧標簽設置雷同的款式

        **<div>1111</div>

         <p>2222</p>

        **把div和p標簽設置成雷同的款式,把分歧的標簽設置成雷同的款式

        --<head>   

                <style type="text/css">

                    div,p {

                        background-color:blue;

                        color:red;

                    }    

                </style>

         </head>

        --<body>

            <div>1111</div>

            <p>2222</p>

         </body>

    3)偽(類)元素選擇器

        ** css外面供給了一些界說好的款式,可以拿過去應用

        **好比 超鏈接

            **超鏈接的狀況

                --原始狀況 鼠標放上去 點擊 點擊以後

                 :link :hover :active :visited

        代碼完成:       

        <head>   

                <style type="text/css">

                    /*原始狀況*/

                    a:link {

                        background-color:red;

                    }

                    /*懸停狀況*/

                    a:hover {

                        background-color:green;

                    }

                    /*點擊狀況*/

                    a:active {

                        background-color:blue;

                    }

                    /*點擊以後狀況*/

                    a:visited {

                        background-color:gray;

                    }                               

                </style>

         </head>

        <body>

            <a href="http://www.百度.com">點擊鏈接到百度網頁</a>

        </body>   

 

css的盒子模子(懂得) 對數據停止操作,須要把數據放到一個區域外面(div)

    1)邊框 border :同一設置

            也能夠分離設置:上 border-top 下:border-bottom 左:border-left 右:border-right

        --<head>   

                <style type="text/css">

                    div {

                        width: 200px;

                        height: 100px;

                        border: 2px solid blue;

                    }

                    #div12 {

                        border-right: 2px dashed yellow;

                    }

                </style>

         </head>

        --<body>

            <div id="div11">AAAAAAAAA</div>

            <div id="div12">BBBBBBBBB</div>

         </body>

    2) 內邊距 padding :同一設置 內容間隔高低閣下四條邊的間隔

            也能夠分離設置:高低閣下

        <head>   

                <style type="text/css">

                    div {

                        width: 200px;

                        height: 100px;

                        border: 2px solid blue;

                    }

                    #div21 {

                        padding: 20px;

                    }

                    #div22 {

                        padding-left: 30px;

                    }

                </style>

         </head>

        <body>

            <div id="div21">AAAAAAAAA</div>

            <div id="div22">BBBBBBBBB</div>

         </body>

    3) 外邊距 margin :同一設置 div間隔最外邊四條邊的間隔

                也能夠分離設置:高低閣下。。。

 

css的結構的漂浮(懂得) float :left right

 

css的結構的定位 (懂得)

    *position

        **屬性值:

            --static:默許值,無特別定位

            --absolute:

                將對象從文檔流中拖出,應用left,right,top,bottom等屬性絕對於其停止相對定位

            --relative:不會將對象從文檔流中拖出,對象弗成層疊,但將根據left,right,top,bottom等屬性在正常文檔流中偏移地位。

 

案例:圖文混排案例

    **圖片和文字在一路顯示

案例:圖象簽名

 

javascript的簡介:是基於對象和事宜驅動的劇本說話,重要運用在客戶端

    *基於對象:供給好了許多對象,可以直接拿過去應用

    *事宜驅動:html做網站靜態後果,javascript靜態後果

    *客戶端:專門指的是閱讀器

    * js的特色:

        1)交互性 信息的靜態交互

        2)平安性 js不克不及拜訪當地磁盤的文件

        3)跨平台性 java外面跨平台性,虛擬機;只需可以或許支撐js的閱讀器,都可以運轉

   

    *javascript和java的差別:二者之間沒有甚麼任何干系

        1)java是sun公司,如今是Oracle;js是網景公司

        2)java是面向對象的,js是基於對象的

        3)java是強類型的說話,js是弱類型的說話

            --好比:java外面 int i = "10";會報錯

            --js: var i = 10; var i = "10";都不報錯

        4)js只須要解析便可以履行,而java須要先編譯成字節碼文件,在履行

 

    *js的構成(三部門):

        1)ECMAScript

            -- ECMA :歐洲盤算機協會

            --由ECMA組織制訂的js語法,語句...

        2)BOM

            --broswer object model:閱讀器對象模子

        3)DOM

            --document object model:文檔對象模子

           

js與html的聯合方法(兩種)

    1)應用一個標簽 <script type="text/javascript"> js代碼;</script>

 

    2)應用script標簽,引入一個內部的js文件

        -- 創立一個js文件,寫js代碼

        -- <script type="text/javascript" src="js的途徑"></script>

    留意:應用第二種方法的時刻,就不要在script標簽外面寫js代碼了,不會履行

 

js的原始類型和聲明變量

    *java的根本數據類型:byte short int long float double char bolean

    *js界說變量 都是用症結字 var

    *js的原始類型(五個)

        --string 字符串 var str = "abc";

        --number 數字類型 var m = 123;

        --boolean true和false var flag = true;

        --null var date = new Date();

            **獲得對象的援用,null表現對象援用為空,一切對象的援用也是object

        --undifined 界說一個變量,然則沒有賦值 var aa;

    * typeof(變量稱號) 檢查以後變量的數據類型

   

js的語句

    **java外面的語句 if斷定("="表現賦值;"=="等於,表現斷定) switch語句 輪回語句(for while do-while)

    **js外面的這些語句

        --if斷定語句

        --switch(a) {

            case 5: ...

                    break;

            case 6: ...

                    break;

            default:...

            ........

        }

    **輪回語句 for while do-while

        --var i = 5;

         while(i>0) {

            alert(i);

            i--;

         }

        --for(var i = 0;i<=5;i++){

            alert(i);

        }

 

js的運算符

    **js外面不辨別整數和小數

        --var j = 123;

         alert(j/1000*1000);

         ** j/1000*1000 在java外面獲得成果是0

         ** 在js外面不辨別整數和小數, 123/1000*1000 = 0.123*1000 = 123

    **字符串的相加和相減的操作

        --var str = "123";

         alert(str + 1); 在java和js中的成果都是1231,做的是字符串的銜接

         alert(str - 1); 相減時刻,履行減法的運算,假如str中不是數字,會提醒NaN:表現不是一個數字

    **boolean類型也能夠操作

        ***假如設置成true,相當於這個值是1;假如設置成false,相當於這個值是0;

    ** == 和 === 差別

        **都是做斷定

        ** == 比擬的只是值; === 比擬的是值和類型

    **直接向頁面輸入的語句(可以把內容顯示在頁面上),可以向頁面輸入變量,固定值和html代碼。Document.write("") 外面是雙引號,假如設置標簽的屬性須要應用單引號。

        -- document.write("aaaa");

        -- document.write("<hr/>");

            ***document.write("<table border='1' bordercolor='red'>");

            ***document.write("</table>");

演習:完成99乘法表

 

js的數組

    *java外面的數組 界說 int[] arr = {1,2,3};

    *js數組的界說方法(三種)

        1)var arr = [1,2,3];var arr = [1,"2",3];var arr = [1,2,true]; 都可以

        2)應用內置對象 Array對象

            var arr1 = new Array(5); // 界說一個數組,數組的長度是5

            arr1[0] = "1";

            ......

        3)應用內置對象 Array對象

            var arr2 = new Array(3,4,5); // 界說一個數組,數組裡的元素是3,4,5

    * 數組外面有一個屬性 length :獲得到數組的長度

    * 數組的長度是可變的,數組可以寄存分歧的數據類型的數據。

 

js的函數(辦法)

    **在js外面界說函數(辦法)有三種方法 函數的參數列內外面,不須要寫var,直接寫參數稱號

        1)應用到一個症結字 function

            *** function 辦法名(參數列表) {

                    辦法體;

                    前往值無關緊要(依據現實須要);

             }

            代碼完成:// 應用第一種方法創立函數

                            function test() {

                                alert("qqqqqq");

                            }

                            // 挪用辦法

                            test();

 

                            // 界說一個有參數的辦法 完成兩個數的相加

                            function add1(a,b) {

                                var sum = a+b;

                                alert(sum);

                            }

                            add1(3,5);

 

                            function add2(a,b,c) {

                                var sum1 = a+b+c;

                                return sum1;

                            }

                            alert(add2(7,8,9));

        2)匿名函數

            var add = function(參數列表) {

                辦法體和前往值;

            }

            代碼完成: var add3 = function(m,n) {

                            alert(m+n);

                        }

                        // 挪用辦法

                        add3(8,9);

        3)普通也稱為靜態函數,用的少,懂得便可

            *應用到js外面的一個內置對象 Function

            var add = new Function("參數列表","辦法體和前往值");

            var add4 = new Function("x,y","var sum;sum=x+y;return sum;");

            alert(add4(9,10));

            // 或許下邊的代碼

            var canshu = "x,y";

            var fangfati = "var sum;sum=x+y;return sum;";

            var add4 = new Function(canshu,fangfati);

            alert(add4(5,3));

 

js的全局變量和部分變量

    **全局變量:在script標簽外面界說一個變量,這個變量在頁面中js部門都可使用

        --在辦法內部應用,在辦法外部應用,在另外一個script標簽應用

    **部分變量:在辦法外部界說一個變量,只能在辦法外部應用

        --只能在辦法外部應用,假如在辦法的內部挪用這個變量,提醒失足

        --ie自帶了一個調試對象,ie8以上的版本中,鍵盤上的F12,再頁面下方湧現一個條 看掌握台可以看到毛病

 

script標簽應當放置的地位

    **建議把script標簽放到</body>前面

    **假如如今有如許一個需求:

        --在js外面須要獲得到input外面的值,假如把script標簽放在head外面,會湧現成績

        --html解析是從上到下解析的,script標簽放到的是head外面,直接在外面取input的值,由於頁面還沒有解析到input那一行,確定取不到

 

js的重載 js不存在重載,然則可以模仿完成

    例子:function add11(a,b) {

        return a+b;

    }

    function add11(a,b,c) {

        return a+b+c;

    }

    function add11(a,b,c,d) {

        return a+b+c+d;

    }

    alert(add11(2,2)); // NaN

    alert(add11(2,2,3)); // NaN

    alert(add11(2,2,4,5)); // 13

 

js的String對象

    ** 創立String對象 var str = "abc';

    **辦法和屬性(文檔)

        --屬性 length :字符串的長度

        --辦法

            1)與html相干的辦法

                -- bold():加粗 fontcolor():設置字符串的色彩 fontsize():設置字體的年夜小 link():將字符串顯示成超鏈接

            2)與java類似的辦法

                --concat():銜接字符串 charAt():前往指定地位的字符串 indexOf():前往字符串地位 split():切分字符串 成數組 replace("",""):調換字符串--傳遞兩個參數:第一個參數是原始字符,第二個參數是要調換成的字符 substr(5,3)從第五位開端,向後截取三個字符 substring(3,5) 從第三位開端包含第三位到第五位停止,不包含第五位 [3,5)

 

js的Array對象

    **創立數組的三種辦法

        1)var arr1 = [1,2,3];

        2)var arr1 = new Array(3); // 長度是三

        3)var arr1 = new Array(1,2,3); // 元素是1,2,3

        var arr = []; //創立一個空數組

    **屬性 length:檢查數組的長度

    **辦法

        concat();銜接數組 join();依據指定的字符朋分數組 push();向數組末尾添加元素,前往數組的新的長度**假如添加的是一個數組,這個時刻把數組當作一個全體字符串添加出來 pop();刪除並前往數組的最初一個元素 reverse();倒置數組中的元素的次序

 

js的Date對象

    ** 在java外面獲得以後時光

        Date date = new Date();

        // 格局化 //toLocaleString()

   

    ** js外面獲得以後時光

        var date = new Date();

        // 轉換成習氣的格局 date.toLocaleString();

 

js的Math對象 數學的運算

    ** 外面的都是靜態辦法,應用可以直接應用 Math.辦法();

 

js的全局函數

    **因為不屬於任何一個對象,直接寫稱號應用

    ** eval(); 履行js代碼(假如字符串是一個js代碼,應用辦法直接履行)

        -- var str = "alert('1234');";

         // alert(str); //alert('1234');

         eval(str); // 1234

    ** .....

 

js的函數的重載 甚麼是重載?辦法名雷同,參數分歧

    *js不存在函數的重載,只會挪用最初一個辦法,然則可以經由過程其他方法模仿重載。js的函數把傳遞的參數保留到 arguments數組外面 可以應用斷定arguments數組的長度 來對應前往分歧的處置成果

    模仿重載後果代碼完成:

    function add1() {

        if(arguments.length ==2 ) {

            return arguments[0] + arguments[1];

        } else if ( arguments.length == 3) {

            return arguments[0] + arguments[1] + arguments[2];

        } else if ( arguments.length == 4) {

            return arguments[0] + arguments[1] + arguments[2] + arguments[3];

        } else {

            return 0;

        }

    }

    // 挪用

    alert(add1(1,2)); //3

    alert(add1(1,2,3)); //6

    alert(add1(1,2,3,4)); //10

    alert(add1(1,2,3,4,5)); //0

 

js的bom對象

    **bom :broswer object model:閱讀器對象模子

    **有哪些對象?

        -- navigator :獲得客戶機的信息(閱讀器的信息)

        -- screen : 獲得屏幕的信息

        -- location :要求的url地址

            *** href屬性

                1)獲得到要求的url地址

                    --document.write(location.href);

                2)設置url地址

                    --頁面上安頓一個按鈕,按鈕上綁定一個事宜,當點擊這個按鈕,頁面可以跳轉到別的一個頁面

                    <body>

                    <input type="button" value="JumpBaidu" onclick="href1();"/>

                    <script type="text/javascript">

                        function href1() {

                            //alert("aaaa");

                            location.href = "http://www.百度.com";

                        }    

                    </script>

                    </body>

        -- history :要求的url的汗青記載

            -- 創立三個頁面(模仿高低汗青的後果)

                1)創立一個頁面a.html 寫一個超鏈接 到 b.html

                2)創立 b.html 超鏈接到 c.html

                3)創立 c.html

            -- 到拜訪的上一個頁面

                history.back();

                history,go(-1);

            -- 到拜訪的下一個頁面

                history.forward();

                history.go(1);   

        -- window(重點控制) 窗口對象 頂層對象(一切bom對象都是在window外面操作的)

            **辦法

                -- window.alert(); 簡寫為:alert(); 頁面彈出一個窗口,顯示內容

                -- confirm("顯示的新聞內容"); 確認提醒框 有前往值 true和false

                -- prompt(); 輸出的對話框(如今應用的不多) ,有兩個參數:顯示內容和默許值

                -- open("url地址","","窗口特點,好比窗口寬度和高度"); 翻開一個新窗口

                -- close(); 封閉窗口(閱讀器兼容性比擬差)

                -- 做一些准時器

                    *** setInterval("js代碼",毫秒數); window.setInterval("alert('123');",3000); 表現每三秒履行一次alert辦法

                    *** setTimeout("js代碼",毫秒數); 表現在毫秒數以後履行,然則只會履行一次

                    ***clearInterval(); 消除失落setInterval設置的准時器

                        -- var id1 = setInterval("alert('123');",3000);

                         clearInterval(id1);   

                    ***clearTimeout(); 消除失落setTimeout設置的准時器

 

js的dom對象

    **dom :document object model: 文檔對象類型

    **文檔:超文本文檔(超文本標志文檔) html、xml

    **對象:供給了屬性和辦法

    **模子:應用屬性和辦法操作超文本標志型文檔

    ***可使用js外面的dom外面供給的對象,應用這些對象的屬性和辦法,對標志型文檔停止操作

    ***想要對標志型文檔停止操作,起首須要把標志型文檔外面的一切內容封裝成對象

        -- 須要把html外面的標簽、屬性、文本內容都封裝成對象

    ***要想對標志型文檔停止操作,解析標志型文檔

    ***解析進程:依據html的層級構造,會在內存平分配一個樹形構造,須要把html中的每部門封裝成對象

        *只能有一個根節點

            在根節點上面可以有多個子節點,沒有子節點的節點稱為葉子節點

        -- document對象:全部html文檔

        -- element對象:標簽對象

        -- 屬性對象

        -- 文本對象

        ** Node節點對象:是這些對象的父對象

 

DHTML:是許多技巧的簡稱

    ** html:封裝數據

    ** css:應用屬性和屬性值設置款式

    ** dom:操作html文檔(標志型文檔)

    ** javascript:專門指的是js的語法語句(ECMAScript)

 

document對象 表現全部文檔

    **經常使用辦法

        -- write()辦法:1)向頁面輸入變量 2)向頁面輸入html代碼

        -- getElementById(); 表現經由過程id獲得元素(標簽)   

            <body>   

                <input type="text" id="nameid" value="aaaaa"/><br/>

                <script type="text/javascript">

                    // 應用getElementById獲得input標簽的對象

                    var input1 = document.getElementById("nameid");

                    // 獲得input外面的value值

                    alert(input1.value);

                    // 向input外面設置一個值value

                    input1.value = "bbbbbbb";

                </script>

            </body>       

        -- getElementsByName(); 經由過程標簽的name的屬性值獲得標簽,前往的是一個聚集(數組)

            <body>   

                <input type="text" name="name1" value="aaaaa"/><br/>

                <input type="text" name="name1" value="bbbb"/><br/>

                <input type="text" name="name1" value="ccccc"/><br/>

                <script type="text/javascript">

                    var input1 = document.getElementsByName("name1"); // 傳遞的參數是標簽外面的name的值

                    for(var i =0;i<input1.length;i++) { // 經由過程遍歷,獲得每一個標簽外面的詳細的值

                        var inputs = input1[i]; // 每次輪回獲得input對象,賦值到inputs外面

                        alert(inputs.value); // 獲得每一個input標簽外面的value值

                    }

                </script>

            </body>

        -- getElementsByTagName("標簽的稱號"); 前往的是一個聚集(數組)

            <body>   

                <input type="text" name="name1" value="aaaaa"/><br/>

                <input type="text" name="name1" value="bbbb"/><br/>

                <input type="text" name="name1" value="ccccc"/><br/>

                <script type="text/javascript">

                    var inputs1 = document.getElementsByTagName("input"); //傳遞的參數是標簽的稱號

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

                        var input1 = inputs1[i];

                        alert(input1.value);

                    }

                </script>

            </body>

        ****留意的處所:只要一個標簽,這個標簽只能應用name獲得到,這個時刻,應用getElementsByName前往的是一個數組,然則如今只要一個元素,這個時刻不須要遍歷,而是可以直接經由過程數組的下標獲得到值

            <input type="text" name="name1" value="aaaaa"/>

            var input1 = document.getElementsByName("name1")[0];

            alert(input1.value);

 

案例:window彈窗案例

    **完成進程:1)須要創立一個頁面:兩個輸出項和一個按鈕,按鈕上邊有一個事宜,感化是彈出一個新窗口

         2)創立彈出頁面:表格 每行表格上有一個按鈕和編號和姓名;按鈕上有一個事宜:把以後的編號和姓名,賦值到第一個頁面響應的地位       

    **跨頁面的操作 opener :可以獲得創立這個窗口的窗口,也就是可以獲得父窗口

 

案例:在末尾添加節點

    1)創立li標簽

    2)創立文本

    3)把文本參加到li上面

    4)把li參加到ul上面

    <body>

        <ul id="ulid">

            <li>1111</li>

            <li>2222</li>

            <li>3333</li>

        </ul> <br/>

        <input type="button" value="add" onclick="add1();"/>

        <script type="text/javascript">

            function add1() {

                // 獲得到ul標簽

                var ul1 = document.getElementById("ulid");

                // 創立標簽

                var li1 = document.createElement("li");

                // 創立文本

                var tex1 = document.createTextNode("4444");

                // 把文本參加到li上面

                li1.appendChild(tex1);

                // 把li參加到ul上面

                ul1.appendChild(li1);

            }

        </script>

     </body>

 

元素對象(element對象):要操作element,起首必需要獲得到element 應用document外面響應的辦法獲得

    **辦法

        ****獲得屬性外面的值 getAttribute("屬性稱號");

        ****設置屬性的值 setAttribute(name,value);   

        ****刪除屬性 removeAttribute("屬性稱號"); 不克不及刪除value

 

        <input type="text" name="name1" id="inputid" value="aaaa"/>

        <script type="text/javascript">

            // 先要獲得input標簽

            var input1 = document.getElementById("inputid");

            // alert(input1.value);

            alert(input1.getAttribute("value")); //獲得屬性外面的值           

            alert(input1.getAttribute("class"));

            input1.setAttribute("class","haha"); // 設置屬性的值   

            alert(input1.getAttribute("class"));

            input1.removeAttribute("name");

        </script>

    ** 想要獲得標簽上面的子標簽

        **應用屬性 childNodes,然則這個屬性兼容性很差

        **取得標簽上面子標簽的獨一有用辦法,應用getElementsByTagName辦法

        <body>

            <ul id="ulid1">

                <li>aaaaaa</li>

                <li>bbbbbb</li>

                <li>cccccc</li>

            </ul>

            <script>

                // 獲得到ul標簽

                var ul1 = document.getElementById("ulid1");

                // 獲得ul上面的子標簽

                // var lis = ul1.childNodes;//兼容性很差

                // alert(lis.length); // 有的顯示的是3 有的顯示的是7

                var lis = ul1.getElementsByTagName("li");

                alert(lis.length);

            </script>

        </body>

 

Node對象的屬性

    **nodeName

    **nodeType

    **nodeValue

    **應用dom解析html時刻,須要html外面的標簽,屬性和文本都封裝成對象

**標簽節點對應的值

    nodeType : 1

nodeName : 年夜寫標簽稱號,好比SPAN

nodeValue : null

**屬性節點對應的值

    nodeType : 2

nodeName : 屬性稱號

nodeValue : 屬性的值

**文本節點對應的值

    nodeType : 3

nodeName : #text

nodeValue : 文本內容

 

        **<body>

            <span id="spanid">文本內容</span>

            <script type="text/javascript">

                // 獲得標簽對象

                var span1 = document.getElementById("spanid");

                // alert(span1.nodeType); // 1

                // alert(span1.nodeName); // SAPN

                // alert(span1.nodeValue); // null

                // 屬性

                var id1 = span1.getAttributeNode("id");

                // alert(id1.nodeType); // 2

                // alert(id1.nodeName); //id

                // alert(id1.nodeValue); // spanid

                //獲得文本

                var text1 = span1.getfirstChild;

                // alert(text1.nodeType); // 3

                // alert(text1.nodeName); //#text

                // alert(text1.nodeValue); // 文本內容

</script>

</body>

Node對象的屬性二

    <ul>

    <li>aaaaaa</li>

<li>bbbbb</li>

</ul>

**父節點 ul是li的父節點

    *** parentNode :父節點

    **子節點 li是ul的子節點

        *** childNodes : 獲得一切子節點,然則兼容性很差

        *** firstChild : 獲得第一個子節點

        *** lastChild : 獲得最初一個子節點

    **平輩節點 li與li之間是平輩節點

        **nextSibling : 前往一個給定節點的下一個兄弟節點

        **previousSibling :    前往一個給定節點的上一個兄弟節點

        <body>

        <ul id="ulid">

            <li id="li1">aaaaa</li>

            <li id="li2">bbbbb</li>

            <li id="li3">ccccc</li>

            <li id="li4">ddddd</li>

        </ul>

        <script type="text/javascript">

        /*    // 獲得li1

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

            // 獲得ul

            var ul1 = li1.parentNode;

            alert(ul1.id); */

 

        /*    // 獲得ul的第一個子節點

            // 獲得ul

            var ul1 = document.getElementById("ulid");

            // 第一個子節點

            var li1 = ul1.firstChild;

            alert(li1.id);

            var li4 = ul1.lastChild;

            alert(li4.id); */

            //獲得li的id是li3的上一個和下一個兄弟節點

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

            var li4 = li3.nextSibling;

            var li2 = li3.previousSibling;

            alert(li4.id);

            alert(li2.id);

        </script>

    </body>   

 

操作dom樹

    ** appendChild辦法:

        *** 添加子節點到末尾

        *** 特色:相似於剪切粘貼的後果

    ** insertBefore(newNode,oldNode);

        *** 在某個節點之前拔出一個新的節點 經由過程父節點添加

        *** 兩個參數 1)要拔出的節點 2)在誰之前拔出

        *** 拔出一個節點,節點不存在,創立

            1)創立標簽

            2)創立文本

            3)把文本添加到標簽上面

    **代碼完成:(在<li>貂蟬</li>之前添加 <li>董小宛</li>)

        <body>

        <ul id="ulid21">

            <li id="li11">西施</li>

            <li id="li12">王昭君</li>

            <li id="li13">貂蟬</li>

            <li id="li14">楊玉環</li>

        </ul>

        <input type="button" value="insert" onclick="insert1();"/>

        <script type="text/javascript">

            // 在<li>貂蟬</li>之前添加 <li>董小宛</li>

            function insert1()    {

                // 1、獲得到li13標簽

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

                // 2、創立li

                var li15 = document.createElement("li");

                // 3、創立文本

                var text15 = document.createTextNode("董小宛");

                // 4、把文本添加到li上面

                li15.appendChild(text15);

                // 5、獲得ul

                var ul21 = document.getElementById("ulid21");

                // 6、把li添加到ul上面(在<li>貂蟬</li>之前添加 <li>董小宛</li>)

                ul21.insertBefore(li15,li13);

            }

        </script>

    </body>   

    **removeChild辦法:刪除節點

        ***經由過程父節點刪除,不克不及本身刪除本身

        **代碼完成 : 刪除<li id="li24">楊玉環</li>

        <body>

        <ul id="ulid31">

            <li id="li21">西施</li>

            <li id="li22">王昭君</li>

            <li id="li23">貂蟬</li>

            <li id="li24">楊玉環</li>

        </ul>

        <input type="button" value="remove" onclick="remove1();"/>

        <script type="text/javascript">

            // 刪除<li id="li24">楊玉環</li>

            function remove1()    {

                // 1、獲得到li24標簽

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

                // 2、獲得父節點ul標簽

                // 有兩種方法 1)經由過程id獲得 2)經由過程屬性 parentNode獲得

                var ul31 = document.getElementById("ulid31");

                // 3、履行刪除(經由過程父節點刪除)

                ul31.removeChild(li24);

            }

        </script>

    </body>   

    ** replaceChild(newNode,oldNode); 調換節點

        ***兩個參數:1)新的節點(調換成的節點) 2)舊的節點(被調換的節點)

        ***不克不及本身調換本身,經由過程父節點調換

    ** cloneNode(boolean) : 復制節點

    **代碼完成:把ul列表復制到別的一個div外面

        <body>

            <ul id="ulid41">

                <li id="li31">西施</li>

                <li id="li32">王昭君</li>

                <li id="li33">貂蟬</li>

                <li id="li34">楊玉環</li>

            </ul>

            <div id="divv">

               

            </div>

            <input type="button" value="clone" onclick="clone1();"/>

            <script type="text/javascript">

                // 把ul列表復制到別的一個div外面

                /*

                    1、獲得到ul

                    2、履行復制辦法 cloneNode辦法復制 參數true

                    3、把復制以後的內容放到div外面去

                        ** 獲得到div

                        **    appendChild辦法

                */

                function clone1()    {

                    // 1、獲得ul

                    var ul41 = document.getElementById("ulid41");

                    // 2、復制ul,放到相似剪切板外面

                    var ulcopy = ul41.cloneNode(true);

                    // 3、獲得到div

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

                    // 4、把正本放到div外面去

                    divv.appendChild(ulcopy);

                }

            </script>

        </body>       

    **操作dom總結:

        **獲得節點應用辦法

            getElementById() :    經由過程節點的id屬性,查找對應節點

getElementsByName() : 經由過程節點的name屬性,查找對應節點

getElementsByTagName() : 經由過程節點稱號,查找對應節點

        **拔出節點的辦法

            insertBefore辦法 : 在某個節點之前拔出

            appendChild辦法 : 在末尾添加,相似於剪貼粘貼

        **刪除節點的辦法

            removeChild辦法 : 經由過程父節點刪除

        **調換節點的辦法

            replaceChild辦法 : 經由過程父節點調換

 

innerHTML屬性(重點)

    ** 這個屬性不是dom的構成部門,然則年夜多半閱讀器都支撐的屬性

    ** 第一個感化:獲得文本內容

        var span1 = document.getElementById("sid");

        alert(span1.innerHTML);

    ** 第二個感化:向標簽外面設置內容(可所以html代碼)

        <body>

            <span id="sid">測試文本</span>   

            <div id="div11">

               

            </div>

            <script type="text/javascript">

                // 獲得span標簽

                var span1 = document.getElementById("sid");

                //alert(span1.innerHTML); // 測試文本

                // 向div外面設置內容 <h1>AAAAA</h1>

                // 獲得div

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

                div11.innerHTML = "<h1>AAAAA</h1>"; // 設置內容

            </script>

        </body>   

    ** 演習:向div外面添加一個表格

        var tab = "<table border='1'><tr><td>aaaaa</td></tr><tr><td>bbbb</td></tr></table>";

        div11.innerHTML = tab;

 

案例:靜態顯示時光

    ** 獲得以後時光

        var date = new Date();

        var d1 = date.toLocaleString();

    ** 須要讓頁面每秒獲得時光

        setInterval辦法 准時器

    ** 顯示到頁面上

        每秒向div外面寫一次時光 應用innerHTML屬性

    ** 代碼完成 靜態顯示時光    

        <body>

            <div id="times">

               

            </div>

            <script type="text/javascript">

                function getD1() {

                    // 以後時光

                    var date = new Date();

                    // 格局化

                    var d1 = date.toLocaleString();

                    // 獲得div

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

                    div1.innerHTML = d1;

                }

                // 應用准時器完成每秒寫一次時光

                setInterval("getD1();",1000);

            </script>

        </body>   

 

案例:全選演習

    ** 應用復選框下面一個屬性斷定能否選中

        ** checked 屬性

        ** checked = true; 選中

        ** checked = false; 未選中

** 創立一個頁面   

        ** 復選框 和 按鈕

            ***四個復選框表現喜好

            ***還有一個復選框操作全選和全不選 有一個事宜

            ***三個按鈕 全選 全不選 反選 每一個按鍵都分離有事宜

    **代碼完成

        <body>

            <input type="checkbox" id="boxid" onclick="selAllNo();"/>全選/全不選

            <br/>

            <input type="checkbox" name="love"/>籃球

            <input type="checkbox" name="love"/>排球

            <input type="checkbox" name="love"/>羽毛球

            <input type="checkbox" name="love"/>乒乓球

            <br/>

            <input type="button" value="全選" onclick="selAll();"/>

            <input type="button" value="全不選" onclick="selNo();"/>

            <input type="button" value="反選" onclick="selOther();"/>   

            <script type="text/javascript">

                // 完成全選操作

                function selAll() {

                    /*

                        1、獲得要操作的復選框 應用getElementsByName();

                        2、前往的是數組

                            **屬性 checked 斷定復選框能否選中

                                ** checked = true; // 表現選中

                                ** checked = false; // 表現未選中

                            **遍歷數組,獲得的是每個checkbox

                            ** 把每個checkbox屬性設置為true 即checked = true;

                    */

                    // 獲得要操作的復選框

                    var loves = document.getElementsByName("love");

                    // 遍歷數組,獲得每個復選框

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

                        var love1 = loves[i]; // 獲得每個復選框

                        love1.checked = true; // 設置屬性為true

                    }

                }

                // 完成全不選操作

                function selNo() {

                    /*

                        1、獲得到要操作的復選框

                        2、前往的是數組,遍歷數組

                        3、獲得每個復選框

                        4、設置復選框的屬性 checked = false;

                    */

                    // 獲得要操作的復選框

                    var loves = document.getElementsByName("love");

                    // 遍歷數組,獲得每個復選框

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

                        var love1 = loves[i]; // 獲得每個復選框

                        love1.checked = false; // 設置屬性為true

                    }

                }

                function selOther() { // 完成反選

                    var loves = document.getElementsByName("love");

                    // 遍歷數組,獲得每個復選框

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

                        var love1 = loves[i]; // 獲得每個復選框

                        if(love1.checked == true) {

                            love1.checked = false;

                        }

                        else {

                            love1.checked = true;

                        }

                    }

                }

                function selAllNo() { // 一個多選框完成全選 全不選切換

                    /*

                        1、獲得上邊的復選框 經由過程id來獲得

                        2、斷定該復選框能否選中 if前提 checked == true

                        3、假如是選中,上面是全選

                        4、假如不是選中,上面是全不選

                    */

                    var box1 = document.getElementById("boxid");

                    if(box1.checked == true) {

                        selAll();

                    }

                    else {

                        selNo();

                    }

                }

            </script>

        </body>   

 

案例:下拉列表閣下選擇

    ** 下拉選擇框

        <select>

            <option>111</option>   

            <option>111</option>   

        </select>       

    ** 創立一個頁面

        ** 兩個下拉框 設置屬性multiple

        ** 四個按鈕, 都有事宜

    ** 代碼完成:

        <body>

        <div id="s1" >

            <div>

            <select id="select1" multiple="multiple" >

                    <option>1111111</option>   

                    <option>22222222</option>   

                    <option>33333333</option>   

                    <option>444444444</option>   

            </select>

            </div>

            <div>

            <input type="button" value="選中添加到左邊" onclick="selToRight();"/><br/>

            <input type="button" value="全體添加到左邊" onclick="allToRight();"/>

            </div>

        </div>

        <div id="s2">

            <div>

            <select id="select2" multiple="multiple" >

                    <option>AAAAAAAA</option>

                    <option>BBBBBBBB</option>

            </select>

            </div>

            <div>

            <input type="button" value="選中添加到右邊" onclick="selToLeft();"/><br/>

            <input type="button" value="全體添加到右邊" onclick="allToLeft();"/>

            </div>

        </div>

            <script type="text/javascript">

                // 完成選中添加到左邊

                function selToRight() {

                    /*

                        1、獲得 select1 外面的 option

                            * 應用getElementsByTagName(); 前往的是數組

                            * 遍歷數組,獲得每個 option

                        2、斷定option能否被選中

                            * 屬性 selected ,斷定能否被選中

                                ** selected = true; 選中

                                ** selected = false;未選中   

                        3、假如選中,把選擇的添加到左邊去

                        4、獲得 select2

                        5、添加選擇的部門

                            * appendChild 辦法

                    */

                    // 獲得到 select1 外面的option

                    // 獲得 select1

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

                    // 獲得 select2

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

                    // 獲得 option

                    var options1 = select1.getElementsByTagName("option");

                    // 遍歷數組

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

                        // 第一次輪回 i=0 length:5

                        // 第二次輪回 i=1 length:4

                        // 第三次輪回 i=2 length:3

                        // 再往後就不知足前提了 後邊的都輪回不到了

                        var option1 = options1[i]; // 獲得每個option對象

                        // 斷定能否被選中

                        if(option1.selected == true) {

                            // 添加到 select2 外面

                            select2.appendChild(option1);

                            i--; // 留意這一點,不寫 會出成績

                        }

                    }

                }

                // 全體添加到左邊

                function allToRight() {

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

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

                    var options1 = select1.getElementsByTagName("option");

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

                        var option1 = options1[i];

                        select2.appendChild(option1);

                        i--;

                    }

                }

                // 左邊的添加到右邊的操作相似

            </script>

        </body>

 

案例:下拉框聯動後果(省市聯動)

    ** 創立一個頁面,有兩個下拉選擇框

    ** 在第一個下拉框外面有一個事宜:轉變事宜 onchange事宜

        ** 辦法 add1(this.value); 表現以後轉變的 option 外面的value值

    ** 創立一個二維數組,存儲數據

        ** 每一個數組中第一個元素是國度稱號,前面的元素是國度外面的城市

**代碼完成:

        <body>

        <select id="countryid" onchange="add1(this.value);">

            <option value="0">--請選擇--</option>   

            <option value="中國">中國</option>   

            <option value="美國">美國</option>

            <option value="德國">德國</option>

            <option value="日本">日本</option>

        </select>

        <select id="cityid">

            <option value="" selected>

            <option value="">

        </select>

       

        <script type="text/javascript">

            // 創立一個數組存儲數據

            // 應用二維數組

            var arr = new Array(4);

            arr[0] = ["中國","南京","撫州","臨洮","日喀則","哈密"];

            arr[1] = ["美國","華盛頓","底特律","休斯頓","紐約"];

            arr[2] = ["德國","慕尼黑","柏林","法蘭克福","狼堡"];

            arr[3] = ["日本","東京","北海道","年夜阪","廣島","長崎"];

            function add1(val) {

                /*    完成步調:

                    1、遍歷二維數組

                    2、獲得的也是一個數組(國度對應關系)

                    3、拿到數組中的第一個值和傳遞過去開的值作比擬

                    4、假如雷同,獲得到第一個值前面的元素

                    5、獲得 city 的 select

                    6、添加曩昔 應用 appendChild 辦法

                        ** 須要創立option (三步操作)

                */

                // 因為每次都要向city外面添加option,第二次添加,前邊第一次的會保存,追加

                // 所以每次添加上前,斷定一下city外面能否有option,假如有,刪除

                // 獲得 city 的 select

                var city1 = document.getElementById("cityid");

                // 獲得 city 外面的 option

                var options1 = city1.getElementsByTagName("option");

                // 遍歷數組

                for(var k=0;k<options1.length;k++) {

                    // 獲得每個 option

                    var op = options1[k];

                    // 刪除這個 option 經由過程父節點刪除

                    city1.removeChild(op);

                    k--;// 每次刪除 長度都邑減一 k都邑增長一 不履行此操作 會失足

                }

 

                // 遍歷二維數組

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

                    // 獲得二維數組外面的每個數組

                    var arr1 = arr[i];

                    // 獲得遍歷以後的數組的第一個值

                    var firstvalue = arr1[0];

                    // 斷定傳遞過去的值和第一個值能否雷同

                    if(firstvalue == val) { // 雷同

                        // 獲得第一個值前面的元素

                        // 遍歷數組 arr1

                        for(var j=1;j<arr1.length;j++) {

                            var value1 = arr1[j]; // 獲得國度以後 城市的稱號

                            // alert(value1);

                            // 創立 option

                            var option1 = document.createElement("option");

                            // 創立文本

                            var text1 = document.createTextNode(value1);

                            // 把文本添加到option外面

                            option1.appendChild(text1);

                            // 添加值到 city 的 select 外面

                            city1.appendChild(option1);

                        }

                    }

                }

            }   

        </script>

        </body>

以上這篇JavaWeb進修筆記分享(必看篇)就是小編分享給年夜家的全體內容了,願望能給年夜家一個參考,也願望年夜家多多支撐。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved