html_day4 隔行換色 全選 二級(jí)聯(lián)動(dòng)

1.隔行換色

<thead>
        <tr>
            <th></th>
</tr>
</thead>
    <tbody>
        <tr>
            <td></td>
</tr>
</tbody>
--------------------------------------------
<script>
    window.onload = function(){
        //1.獲取表格
        var tblEle = document.getElementById("tbl");
        //2.獲取表格中tbody里面的行數(shù)(長(zhǎng)度)
        var len = tblEle.tBodies[0].rows.length;
        //alert(len);
        //3.對(duì)tbody里面的行進(jìn)行遍歷
        for(var i=0;i<len;i++){
            if(i%2==0){
                //4.對(duì)偶數(shù)行設(shè)置背景顏色
                tblEle.tBodies[0].rows[i].style.backgroundColor="pink";
            }else{
                //5.對(duì)奇數(shù)行設(shè)置背景顏色
    tblEle.tBodies[0].rows[i].style.backgroundColor="gold";
            }
        }
    }
</script>
----------------------------------
高亮顯示
<script>
    function changeColor(id,flag){
        if(flag=="over"){
            document.getElementById(id).style.backgroundColor="red";
        }else if(flag=="out"){
            document.getElementById(id).style.backgroundColor="white";
        }
    }
確定事件(onmouseover和onmouseout)并分別為其綁定一個(gè)函數(shù)
<tr onmouseover="changeColor('tr1','over')" id="tr1" onmouseout="changeColor('tr1','out')">

2.使用過(guò)的事件

onfocus/onblur:聚焦離焦事件,用于表單校驗(yàn)的時(shí)候比較合適。
onclick/ondblclick:鼠標(biāo)單擊和雙擊事件
onkeydown/onkeypress:搜索引擎使用較多
onload:頁(yè)面加載事件,所有的其它操作(匿名方式)都可以放到這個(gè)綁定的函數(shù)里面去。如果是有名稱,那么在html頁(yè)面中只能寫(xiě)一個(gè)。
onmouseover/onmouseout/onmousemove:購(gòu)物網(wǎng)站商品詳情頁(yè)。
onsubmit:表單提交事件 ,有返回值,控制表單是否提交。
onchange:當(dāng)用戶改變內(nèi)容的時(shí)候使用這個(gè)事件(二級(jí)聯(lián)動(dòng))

3.全選

獲取編號(hào)前面的復(fù)選框的狀態(tài)(是否選中)
   獲取復(fù)選框:var checkAllEle = document.getElementById(“id”)
   獲取復(fù)選框的狀態(tài):checkAllEle.checked?

獲取下面所有的復(fù)選框:
   document.getElementsByName(“name”);

<script>
   function checkAll(){
       //1.獲取編號(hào)前面的復(fù)選框
       var checkAllEle = document.getElementById("checkAll");
       //2.對(duì)編號(hào)前面復(fù)選框的狀態(tài)進(jìn)行判斷
       if(checkAllEle.checked==true){
           //3.獲取下面所有的復(fù)選框
           var checkOnes = document.getElementsByName("checkOne");
           //4.對(duì)獲取的所有復(fù)選框進(jìn)行遍歷
           for(var i=0;i<checkOnes.length;i++){
               //5.拿到每一個(gè)復(fù)選框,并將其狀態(tài)置為選中
               checkOnes[i].checked=true;
           }
       }else{
           //6.獲取下面所有的復(fù)選框
           var checkOnes = document.getElementsByName("checkOne");
           //7.對(duì)獲取的所有復(fù)選框進(jìn)行遍歷
           for(var i=0;i<checkOnes.length;i++){
               //8.拿到每一個(gè)復(fù)選框,并將其狀態(tài)置為未選中
               checkOnes[i].checked=false;
           }
       }
   }
</script>
HTML代碼:
復(fù)選框前面的:
   <th><input type="checkbox" onclick="checkAll()" id="checkAll"/></th>

下面所有的復(fù)選框:
<td><input type="checkbox" name="checkOne"/></td>

4.dom

  • Document:整個(gè)html文件都成為一個(gè)- -- document文檔
  • Element:所有的標(biāo)簽都是Element元素
  • Attribute:標(biāo)簽里面的屬性
  • Text:標(biāo)簽中間夾著的內(nèi)容為text文本
  • Node:document、element、attribute、text統(tǒng)稱為節(jié)點(diǎn)node.
  • 每個(gè)載入瀏覽器的 HTML 文檔都會(huì)成為 Document 對(duì)象。
Paste_Image.png

后面兩個(gè)方法獲取之后需要遍歷!
以下兩個(gè)方法很重要,但是在手冊(cè)中查不到!
創(chuàng)建文本節(jié)點(diǎn):document.createTextNode()
創(chuàng)建元素節(jié)點(diǎn):document.createElement()

  • html頁(yè)面中所有的標(biāo)簽都是element元素
element.appendChild()   向元素添加新的子節(jié)點(diǎn),作為最后一個(gè)子節(jié)點(diǎn)。
element.firstChild  返回元素的首個(gè)子節(jié)點(diǎn)。
element.getAttribute()  返回元素節(jié)點(diǎn)的指定屬性值。
element.innerHTML   設(shè)置或返回元素的內(nèi)容。
element.insertBefore()  在指定的已有的子節(jié)點(diǎn)之前插入新節(jié)點(diǎn)。
element.lastChild   返回元素的最后一個(gè)子元素。
element.setAttribute()  把指定屬性設(shè)置或更改為指定值。
element.removeChild()   從元素中移除子節(jié)點(diǎn)。
element.replaceChild()  替換元素中的子節(jié)點(diǎn)。
  • html頁(yè)面中所有標(biāo)簽里面的屬性都是attribute
Paste_Image.png

5.添加城市

<script>
    window.onload = function(){
        document.getElementById("btn").onclick = function(){
            //1.獲取ul元素節(jié)點(diǎn)
            var ulEle = document.getElementById("ul1");
            //2.創(chuàng)建城市文本節(jié)點(diǎn)
            var textNode = document.createTextNode("深圳");//深圳
            //3.創(chuàng)建li元素節(jié)點(diǎn)
            var liEle = document.createElement("li");//<li></li>
            //4.將城市文本節(jié)點(diǎn)添加到li元素節(jié)點(diǎn)中去
            liEle.appendChild(textNode);//<li>深圳</li>
            //5.將li添加到ul中去
            ulEle.appendChild(liEle);
        }
    }
</script>       

    HTML代碼
<input type="button" value="添加新城市" id="btn"/>
<ul id="ul1">
    <li>北京</li>
    <li>上海</li>
    <li>廣州</li>
</ul>

6.省市二級(jí)聯(lián)動(dòng)

事件(onchange)
使用一個(gè)二維數(shù)組來(lái)存儲(chǔ)省份和城市(二維數(shù)組的創(chuàng)建?)
獲取用戶選擇的省份(使用方法傳參的方式:this.value)
遍歷數(shù)組(獲取省份與用戶選擇的省份比較,如果相同了,繼續(xù)遍歷該省份下所有的城市)
創(chuàng)建文本節(jié)點(diǎn)和元素節(jié)點(diǎn)并進(jìn)行添加操作

createTextNode()
createElement()
appendChild()
-------
<script>
    //1.創(chuàng)建一個(gè)二維數(shù)組用于存儲(chǔ)省份和城市
    var cities = new Array(3);
    cities[0] = new Array("武漢市","黃岡市","襄陽(yáng)市","荊州市");
    cities[1] = new Array("長(zhǎng)沙市","郴州市","株洲市","岳陽(yáng)市");
    cities[2] = new Array("石家莊市","邯鄲市","廊坊市","保定市");
    cities[3] = new Array("鄭州市","洛陽(yáng)市","開(kāi)封市","安陽(yáng)市");
    
    function changeCity(val){
        
        //7.獲取第二個(gè)下拉列表
        var cityEle = document.getElementById("city");
        
        //9.清空第二個(gè)下拉列表的option內(nèi)容
        cityEle.options.length=0;
        
        //2.遍歷二維數(shù)組中的省份
        for(var i=0;i<cities.length;i++){
            //注意,比較的是角標(biāo)
            if(val==i){
                //3.遍歷用戶選擇的省份下的城市
                for(var j=0;j<cities[i].length;j++){
                    //alert(cities[i][j]);
                    //4.創(chuàng)建城市的文本節(jié)點(diǎn)
                    var textNode = document.createTextNode(cities[i][j]);
                    //5.創(chuàng)建option元素節(jié)點(diǎn)
                    var opEle = document.createElement("option");
                    //6.將城市的文本節(jié)點(diǎn)添加到option元素節(jié)點(diǎn)
                    opEle.appendChild(textNode);
                    //8.將option元素節(jié)點(diǎn)添加到第二個(gè)下拉列表中去
                    cityEle.appendChild(opEle);
                }
            }
        }
    }
</script>

Html代碼:
<select onchange="changeCity(this.value)">
    <option>--請(qǐng)選擇--</option>
    <option value="0">湖北</option>
    <option value="1">湖南</option>
    <option value="2">河北</option>
    <option value="3">河南</option>
</select>
<select id="city">
    
</select>

7.一些對(duì)象創(chuàng)建

  • javascript內(nèi)置對(duì)象
Paste_Image.png
  • Array對(duì)象
Paste_Image.png

數(shù)組的特點(diǎn):
長(zhǎng)度可變!數(shù)組的長(zhǎng)度=最大角標(biāo)+1

  • Boolean對(duì)象
Paste_Image.png

如果value 不寫(xiě),那么默認(rèn)創(chuàng)建的結(jié)果為false

  • Date對(duì)象
    getTime() 返回 1970 年 1 月 1 日至今的毫秒數(shù)。
    解決瀏覽器緩存問(wèn)題(瀏覽器默認(rèn)會(huì)返回歷史記錄中的網(wǎng)站而不是新的)
  • String對(duì)象
match() 找到一個(gè)或多個(gè)正則表達(dá)式的匹配。
substr()    從起始索引號(hào)提取字符串中指定數(shù)目的字符。
substring() 提取字符串中兩個(gè)指定的索引號(hào)之間的字符。
例子:
<script>
    var str = "-a-b-c-d-e-f-";
    var str1 = str.substr(2,4);//-b-c
    //alert(str1);
    var str2 = str.substring(2,4);//-b
    alert(str2);
</script>
  • RegExp對(duì)象
    正則表達(dá)式對(duì)象
    test 檢索字符串中指定的值。返回 true 或 false。
  • 全局函數(shù)
Paste_Image.png
<script>
    var str = "張三";
    //alert(encodeURI(str));//%E5%BC%A0%E4%B8%89
    //alert(encodeURIComponent(str));//%E5%BC%A0%E4%B8%89
    
    //alert(decodeURI(encodeURI(str)));//張三
    //alert(decodeURIComponent(encodeURIComponent(str)));//張三
    
    var str1 = "http://www.itheima.cn";
    //alert(encodeURI(str1));//http://www.itheima.cn
    //alert(encodeURIComponent(str1));//http%3A%2F%2Fwww.itheima.cn
    
    //alert(decodeURI(encodeURI(str1)));//http://www.itheima.cn
    //alert(decodeURIComponent(encodeURIComponent(str1)));//http://www.itheima.cn
    
    var str2 = "alert('abc')";
    //alert(str2);
    eval(str2);
    
</script>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,106評(píng)論 6 542
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,441評(píng)論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 178,211評(píng)論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 63,736評(píng)論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,475評(píng)論 6 412
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 55,834評(píng)論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,829評(píng)論 3 446
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 43,009評(píng)論 0 290
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,559評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,306評(píng)論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,516評(píng)論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,038評(píng)論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,728評(píng)論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 35,132評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 36,443評(píng)論 1 295
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,249評(píng)論 3 399
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,484評(píng)論 2 379

推薦閱讀更多精彩內(nèi)容

  • 問(wèn)答題47 /72 常見(jiàn)瀏覽器兼容性問(wèn)題與解決方案? 參考答案 (1)瀏覽器兼容問(wèn)題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,781評(píng)論 1 92
  • 本章內(nèi)容 理解包含不同層次節(jié)點(diǎn)的 DOM 使用不同的節(jié)點(diǎn)類型 克服瀏覽器兼容性問(wèn)題及各種陷阱 DOM 是針對(duì) HT...
    悶油瓶小張閱讀 656評(píng)論 0 1
  • 節(jié)點(diǎn)層次 DOM 可以將任何 HTML 和 XML 文檔描繪成一個(gè)由多層節(jié)點(diǎn)構(gòu)成的結(jié)構(gòu)。節(jié)點(diǎn)分為幾種不同的類型,每...
    云之外閱讀 547評(píng)論 0 1
  • 很多時(shí)候,已經(jīng)晚婚年齡的我,卻有著不甘于平淡愛(ài)情的心。我可以像個(gè)姐姐一樣去照顧別人,但卻又不甘只是做個(gè)姐姐。 ...
    不是很甜的粟米先生閱讀 279評(píng)論 0 2
  • 每個(gè)人都有各自的路,我們?cè)诼飞嫌龅竭^(guò)各種各樣的人,父母、朋友、親人或愛(ài)人。我們以為這些人會(huì)陪我們一直走下去,卻發(fā)...
    沒(méi)扣子的白襯衫閱讀 386評(píng)論 0 0