js點擊標題出現(xiàn)下拉框

我們在制作網(wǎng)頁過程中用到列表時一般會使用<ul>或者<ol>標簽,很少用刑<dl>標簽,但是這個三個標簽卻有著不可忽視的作用,畢竟Web標準中要盡最大可能的使用已有的標簽。它們的用途是:
< dl>< /dl>用來創(chuàng)建一個普通的列表,
< dt>< /dt>用來創(chuàng)建列表中的上層項目,
< dd>< /dd>用來創(chuàng)建列表中最下層項目,
< dt>< /dt>和< dd>< /dd>都必須放在< dl>< /dl>標志對之間。
我們可以用<dl></dl>標簽寫一個簡單的點擊事件
樣式

<style>
        dl,dt,dd {
            /* 去掉默認樣式 */
            margin: 0;
            padding: 0;
        }
        dt {
            /* 寬高背景下邊框 */
            width: 300px;
            height: 20px;
            background: blueviolet;
            border-bottom: 1px solid #fff;
            text-align: center;
        }
        dd {
            /* 寬高邊框 樣式隱藏 */
            width: 300px;
            height: 100px;
            border:1px solid #333;
            display: none;
        }
        .block {
            display: block;
        }
        .none {
            display: none;
        }
    </style>

結(jié)構(gòu)

 <div>
        <dl>
            <dt>11</dt>
            <dd>內(nèi)容1</dd>
        </dl>
        <dl>
            <dt>22</dt>
            <dd>內(nèi)容2</dd>
        </dl>
        <dl>
            <dt>33</dt>
            <dd>內(nèi)容3</dd>
        </dl>
    </div>

js部分

<script>
        // getElementsByTagName() 通過標簽名稱查找元素 查找dl標簽
        var dlElement = document.getElementsByTagName('dl');
        // 遍歷數(shù)組
        for(var j = 0; j < dlElement.length; j++) {
            // 給函數(shù)命名
            (function(i) {
                // 通過dl下標為0的最后一個子元素的點擊事件 lastElementChild 最后一個元素節(jié)點
                dlElement[j].firstElementChild.onclick = function() {
                    // console.log(1);
                    // 調(diào)用dl下標為零的的最后一個子元素的類名
                    var a = dlElement[i].lastElementChild.className;
                    // 調(diào)用dl的下標為零的最后一個子元素的   contains 包含
                    var flag = dlElement[i].lastElementChild.classList.contains('block');
                    // 判斷語句 調(diào)用下標為零的最后一個子元素包含block
                    // if else 是判斷語句
                    if(flag) {
                        // 下標為零的最后一個子元素的類名 = none
                        dlElement[i].lastElementChild.className = 'none';
                    }
                    else {
                        // 遍歷數(shù)組
                        for(var k = 0; k < dlElement.length; k++) {
                            // 下標為零的最后一個子元素的類名為none;
                            dlElement[k].lastElementChild.className = 'none';
                        }
                        // 下標為0的最后一個子元素的類名為block
                        dlElement[i].lastElementChild.className = 'block';
                    }
                }
            })(j);
        }
    </script>
Image 12.png

這樣一個簡單的點擊標題出現(xiàn)下拉框事件就完成啦!
希望我的理解可以給你們提供一些幫助,學(xué)識有限,如果有地方出現(xiàn)錯誤或者有更好的方法去實現(xiàn),歡迎私信!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標準。 注意:講述HT...
    kismetajun閱讀 28,771評論 1 45
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽?zāi)J的外補...
    _Yfling閱讀 14,093評論 1 92
  • HTML標簽解釋大全 一、HTML標記 標簽:!DOCTYPE 說明:指定了 HTML 文檔遵循的文檔類型定義(D...
    米塔塔閱讀 3,520評論 1 41
  • HTML5< !--...--> 標簽 comment 注釋標簽用于在源文檔中插入注釋。注釋內(nèi)容不會被瀏覽器顯示。...
    野小寶閱讀 1,396評論 0 10
  • HTML5 標簽comment 注釋標簽用于在源文檔中插入注釋。注釋內(nèi)容不會被瀏覽器顯示。為代碼編寫注釋的好處是...
    才気莮孒閱讀 4,227評論 1 25

友情鏈接更多精彩內(nèi)容