操作元素--排他思想

\color{rgba(254, 67, 101, .8)}{排他思想:}

如果有同一組元素,我們想要某一個(gè)元素實(shí)現(xiàn)某種樣式,需要用到循環(huán)的排他思想算法:
1.所有元素全部清除樣式
2.給自己(當(dāng)前元素)設(shè)置樣式
3.順序不能顛倒钱雷,首先清除樣式,再給自己設(shè)置樣式

    <button>按鈕1</button>
    <button>按鈕2</button>
    <button>按鈕3</button>
    <button>按鈕4</button>
    <button>按鈕5</button>

    <script>
        //給5個(gè)按鈕都綁定點(diǎn)擊事件
        //1.獲取所有按鈕元素
        //btns得到的是偽數(shù)組吹零,獲取里面的每一個(gè)元素用btns[i]
        //單純只用for循環(huán)取每一個(gè)按鈕罩抗,然后添加點(diǎn)擊事件是沒用的
        //因?yàn)闆]點(diǎn)一個(gè)都會(huì)變色,但是點(diǎn)下一個(gè)按鈕上一個(gè)按鈕的顏色不會(huì)取消
        //所以用雙重for循環(huán)灿椅,外層循環(huán)用于獲取按鈕套蒂,而內(nèi)層循環(huán)用于去掉每一個(gè)按鈕的顏色
        var btns = document.getElementsByTagName('button');
        for (var i = 0; i < btns.length; i++) {
            btns[i].onclick = function() {
                //1.先把所有的按鈕背景色去掉
                for (var i = 0; i < btns.length; i++) {
                    //點(diǎn)誰this就指向誰
                    btns[i].style.backgroundColor = '';
                }
                //2.顏色去掉后讓當(dāng)前點(diǎn)擊事件綁定的那個(gè)按鈕背景顏色為pink
                this.style.backgroundColor = 'pink';

            }
        }
    </script>
image.png

\color{rgba(254, 67, 101, .8)}{案例:百度換膚}

分析:
1.這個(gè)案例練習(xí)是給一組元素注冊(cè)事件
2.給4個(gè)小圖片利用循環(huán)注冊(cè)點(diǎn)擊事件
3.當(dāng)我們點(diǎn)擊了這張圖片,讓我們的頁(yè)面背景改為當(dāng)前的圖片
4.核心思路:把當(dāng)前圖片(this)的src路徑取過來茫蛹,給body作為背景即可

    <style>
        * {
            margin: 0;
            padding: 0;
        }
        
        body {
            background: url(images/1.jpg) no-repeat center top;
        }
        
        li {
            list-style: none;
        }
        
        .baidu {
            overflow: hidden;
            margin: 100px auto;
            background-color: #fff;
            width: 410px;
            padding-top: 3px;
        }
        
        .baidu li {
            float: left;
            margin: 0 1px;
            cursor: pointer;
        }
        
        .baidu img {
            width: 100px;
        }
    </style>
</head>

<body>
    <ul class="baidu">
        <li><img src="images/1.jpg"></li>
        <li><img src="images/2.jpg"></li>
        <li><img src="images/3.jpg"></li>
        <li><img src="images/4.jpg"></li>
    </ul>

    <script>
        //1.獲取元素: 4張圖片
        var imgs = document.querySelector('.baidu').querySelectorAll('img');

        //2.循環(huán)注冊(cè)時(shí)間
        for (i = 0; i < imgs.length; i++) {
            imgs[i].onclick = function() {
                //this.scr就是點(diǎn)擊的那張圖片的路徑
                //把這張圖的路徑給body就可以了
                document.body.style.backgroundImage = 'url(' + this.src + ')';
            }
        }
    </script>
image.png

\color{rgba(254, 67, 101, .8)}{案例:表格隔行變色}

案例分析:
1.用到新的鼠標(biāo)事件 鼠標(biāo)經(jīng)過 onmouseover 鼠標(biāo)離開 onmouseout
2.核心思路:鼠標(biāo)經(jīng)過tr行操刀,當(dāng)前行變背景顏色,鼠標(biāo)離開去掉當(dāng)前的背景色
3.注意:第一行(thead里面的行)不需要變換顏色婴洼,因此我們獲取的是tbody里面的行

    <style>
        table {
            width: 800px;
            margin: 100px auto;
            text-align: center;
            border-collapse: collapse;
            font-size: 14px;
        }
        
        thead tr {
            height: 30px;
            background-color: skyblue;
        }
        
        tbody tr {
            height: 30px;
        }
        
        tbody td {
            border-bottom: 1px solid #d7d7d7;
            font-size: 12px;
            color: blue;
        }
        
        .bg {
            background-color: pink;
        }
    </style>
</head>


<body>
    <table>
        <thead>
            <tr>
                <th>代碼</th>
                <th>名稱</th>
                <th>最新公布凈值</th>
                <th>累計(jì)凈值</th>
                <th>前單位凈值</th>
                <th>凈值增長(zhǎng)率</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>003526</td>
                <td>農(nóng)銀金穗3個(gè)月定期開放債券</td>
                <td>1.075</td>
                <td>1.079</td>
                <td>1.074</td>
                <td>+0.047%</td>
            </tr>
            <tr>
                <td>003526</td>
                <td>農(nóng)銀金穗3個(gè)月定期開放債券</td>
                <td>1.075</td>
                <td>1.079</td>
                <td>1.074</td>
                <td>+0.047%</td>
            </tr>
            <tr>
                <td>003526</td>
                <td>農(nóng)銀金穗3個(gè)月定期開放債券</td>
                <td>1.075</td>
                <td>1.079</td>
                <td>1.074</td>
                <td>+0.047%</td>
            </tr>
            <tr>
                <td>003526</td>
                <td>農(nóng)銀金穗3個(gè)月定期開放債券</td>
                <td>1.075</td>
                <td>1.079</td>
                <td>1.074</td>
                <td>+0.047%</td>
            </tr>
            <tr>
                <td>003526</td>
                <td>農(nóng)銀金穗3個(gè)月定期開放債券</td>
                <td>1.075</td>
                <td>1.079</td>
                <td>1.074</td>
                <td>+0.047%</td>
            </tr>
            <tr>
                <td>003526</td>
                <td>農(nóng)銀金穗3個(gè)月定期開放債券</td>
                <td>1.075</td>
                <td>1.079</td>
                <td>1.074</td>
                <td>+0.047%</td>
            </tr>
        </tbody>
    </table>



    <script>
        //1.獲取元素 獲取的是 tbody 里面所有的行
        var trs = document.querySelector('tbody').querySelectorAll('tr');

        //2.循環(huán)注冊(cè)骨坑,綁定事件
        for (var i = 0; i < trs.length; i++) {
            //3. 鼠標(biāo)經(jīng)過 onmouseover 
            trs[i].onmouseover = function() {
                    //寫一個(gè)背景色的類.bg,鼠標(biāo)經(jīng)過每一行換成bg設(shè)定好的顏色pink
                    this.className = 'bg';
                }
                //4.鼠標(biāo)離開事件 onmouseout
                //鼠標(biāo)離開后顏色為空
            trs[i].onmouseout = function() {
                this.className = '';
            }
        }
    </script>
image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末柬采,一起剝皮案震驚了整個(gè)濱河市欢唾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌粉捻,老刑警劉巖礁遣,帶你破解...
    沈念sama閱讀 221,273評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異肩刃,居然都是意外死亡亡脸,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門树酪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來浅碾,“玉大人,你說我怎么就攤上這事续语〈剐唬” “怎么了?”我有些...
    開封第一講書人閱讀 167,709評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵疮茄,是天一觀的道長(zhǎng)滥朱。 經(jīng)常有香客問我根暑,道長(zhǎng),這世上最難降的妖魔是什么徙邻? 我笑而不...
    開封第一講書人閱讀 59,520評(píng)論 1 296
  • 正文 為了忘掉前任排嫌,我火速辦了婚禮,結(jié)果婚禮上缰犁,老公的妹妹穿的比我還像新娘淳地。我一直安慰自己,他們只是感情好帅容,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評(píng)論 6 397
  • 文/花漫 我一把揭開白布颇象。 她就那樣靜靜地躺著,像睡著了一般并徘。 火紅的嫁衣襯著肌膚如雪遣钳。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,158評(píng)論 1 308
  • 那天麦乞,我揣著相機(jī)與錄音蕴茴,去河邊找鬼。 笑死姐直,一個(gè)胖子當(dāng)著我的面吹牛倦淀,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播简肴,決...
    沈念sama閱讀 40,755評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼晃听,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼百侧!你這毒婦竟也來了砰识?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,660評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤佣渴,失蹤者是張志新(化名)和其女友劉穎辫狼,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體辛润,經(jīng)...
    沈念sama閱讀 46,203評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡膨处,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了砂竖。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片真椿。...
    茶點(diǎn)故事閱讀 40,427評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖乎澄,靈堂內(nèi)的尸體忽然破棺而出突硝,到底是詐尸還是另有隱情,我是刑警寧澤置济,帶...
    沈念sama閱讀 36,122評(píng)論 5 349
  • 正文 年R本政府宣布解恰,位于F島的核電站锋八,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏护盈。R本人自食惡果不足惜挟纱,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評(píng)論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望腐宋。 院中可真熱鬧紊服,春花似錦、人聲如沸脏款。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)撤师。三九已至剂府,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間剃盾,已是汗流浹背腺占。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留痒谴,地道東北人衰伯。 一個(gè)月前我還...
    沈念sama閱讀 48,808評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像积蔚,于是被迫代替她去往敵國(guó)和親意鲸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評(píng)論 2 359