javascript day03

parentNode,獲取元素的父級

<ul>
    <li id="test">hello world</li>
</ul>
<script>
    var test = document.getElementById("test");
    test.onclick=function(){
        console.log(this.parentNode)
    }
</script>

小效果

<ul>
    <li>hello world1 <button class="btn">隱藏</button></li>
    <li>hello world2 <button class="btn">隱藏</button></li>
    <li>hello world3 <button class="btn">隱藏</button></li>
    <li>hello world4 <button class="btn">隱藏</button></li>
</ul>
<script>
    /*1.獲取所有的btn*/
    var btns = document.getElementsByClassName("btn");
    /*2.對btns進行遍歷*/
    for(var i =0;i<btns.length;i++){
        /*3.對每一個btn執(zhí)行點擊事件*/
        btns[i].onclick = function(){
            /*4.把正在執(zhí)行點擊事件的btn隱藏*/
            this.parentNode.style.visibility = "hidden";
        }
    }
</script>

childNodes 所有類型的節(jié)點既有元素節(jié)點,也有文本節(jié)點

<ul id="test">
    hello world
    <li>1</li>
    <li>2</li>
</ul>
<script>
    var test = document.getElementById("test");
    var childs = test.childNodes;
    for(var i =0;i<childs.length;i++){
       if(childs[i].nodeType == 1){
           childs[i].style.background="red";
       }
    }
</script>

children只會讀取元素節(jié)點

<ul id="test">
    hello world
    <li>1</li>
    <li>2</li>
</ul>
<script>
    var test = document.getElementById("test");
    var childs = test.children;
   alert(childs.length)
</script>

firstChild獲取的一個子節(jié)點(不會識別節(jié)點的類型)

<ul id="test">
    hello world
    <li>1</li>
    <li>2</li>
</ul>
<script>
    var test = document.getElementById("test");
    var first = test.firstChild;
    alert(first);
</script>

firstElementChild的兼容處理

<ul id="test">
    <li>1</li>
    <li>2</li>
    <li>3</li>
</ul>
<script>
    var test = document.getElementById("test");
    if(test.firstElementChild){
        //ie9+加其他瀏覽器
        test.firstElementChild.style.background="pink"
    }else{
        //ie8
        test.firstChild.style.background="red";
    }
</script>

nextSibling(獲取任意類型的節(jié)點)

<ul id="test">
    <li id="one">1</li>
    <li id="two">2</li>
    <li>3</li>
</ul>
<script>
    var two = document.getElementById("two");
    var sibling =two.previousElementSibling;
    console.log(sibling)
</script>

offsetParent獲取給了定位元素的父級

//css
    <style>
        #parent{
            position: relative;
        }
        #child{
            margin-left: 200px;
            width:100px;
            height:100px;
            left:200px;
            top:100px;
            position: absolute;
            background-color: red;
        }
    </style>
//html
<div id="parent">
    <div id="child">

    </div>
</div>
<script>
    /*offsetParent獲取給了定位元素的父級*/
    var child = document.getElementById("child");
    alert(child.offsetWidth);
    console.log(child.offsetParent)
</script>

改變元素的樣式

//css
    <style>
        #parent{
            position: relative;
        }
        #child{
            margin-left: 200px;
            width:100px;
            height:100px;
            left:200px;
            top:100px;
            position: absolute;
            background-color: red;
        }
    </style>
//html
<div id="parent">
    <div id="child">

    </div>
</div>
<script>
    var child = document.getElementById("child");
    child.setAttribute("style","display:none")
</script>

小效果

<input type="text" id="input" value="hello world"/>
<button id="btn">點擊</button>
<script>
    var input = document.getElementById("input");
    var btn = document.getElementById("btn");
    btn.onclick=function(){
//        input.value="hello world"
        input.removeAttribute("value")
    }
</script>

小效果

//css
<style>
        ul{list-style: none}
        *{margin:0;padding:0}
        .table{
            text-align: center;
            margin-top: 100px;
            margin-left:auto;
            margin-right: auto;
            width:350px;
            border:1px solid #333;
        }
        .tab_wrap{
            border-top: 1px solid #333;
            position: relative;
            height:300px;
        }
        .tab_wrap>div{
            position: absolute;
            height:100%;
            width:100%;
        }
        .tab{
            line-height: 50px;
        }
        .tab>li{
            display: inline-block;
            cursor: pointer;
        }
        input{
            margin-top: 15px;
            width:250px;
            height:40px;
        }
        .code{
            display: none;
        }
        .tab>li:first-child{
            color:orangered;
        }
    </style>
<div class="table">
    <ul class="tab">
        <li class="tab_menu">賬號登錄</li>
        <li class="tab_menu">掃碼登錄</li>
    </ul>
    <div class="tab_wrap">
        <div class="account tab_content">
            <p><input type="text" placeholder="請輸入手機號"/></p>
            <p><input type="password" placeholder="請輸入密碼"/></p>
            <p><input type="submit" placeholder="請輸入密碼"/></p>
        </div>
        <div class="code tab_content">
            ![](images/01.png)
        </div>
    </div>
</div>
<script>
    /*獲取兩個被點擊的li*/
    var tabs = document.getElementsByClassName("tab_menu");
    /*獲取兩個顯示的div*/
    var contents = document.getElementsByClassName("tab_content");
    for(var i=0;i<tabs.length;i++){
        tabs[i].value = i;
        /*給每個li一個點擊事件,讓對應(yīng)的div顯示*/
        tabs[i].onclick=function(){
            /*讓所有的li的字體的顏色為#333*/
            var siblings = document.getElementsByClassName("tab")[0].children;
            for(var k =0;k<siblings.length;k++){
                siblings[k].style.color="#333"
            }
            /*讓正在被點擊的字體的顏色為orangered*/
            this.style.color="orangered";
            /*讓所有的content隱藏*/
            for(var j=0;j<contents.length;j++){
                contents[j].style.display="none"
            }
            /*讓對應(yīng)的顯示就行*/
            contents[this.value].style.display="block";
        }
    }
</script>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末退疫,一起剝皮案震驚了整個濱河市豌汇,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖职员,帶你破解...
    沈念sama閱讀 216,591評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異跛溉,居然都是意外死亡焊切,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評論 3 392
  • 文/潘曉璐 我一進店門芳室,熙熙樓的掌柜王于貴愁眉苦臉地迎上來专肪,“玉大人,你說我怎么就攤上這事堪侯『坑龋” “怎么了?”我有些...
    開封第一講書人閱讀 162,823評論 0 353
  • 文/不壞的土叔 我叫張陵伍宦,是天一觀的道長芽死。 經(jīng)常有香客問我,道長雹拄,這世上最難降的妖魔是什么收奔? 我笑而不...
    開封第一講書人閱讀 58,204評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮滓玖,結(jié)果婚禮上坪哄,老公的妹妹穿的比我還像新娘。我一直安慰自己势篡,他們只是感情好翩肌,可當我...
    茶點故事閱讀 67,228評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著禁悠,像睡著了一般念祭。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上碍侦,一...
    開封第一講書人閱讀 51,190評論 1 299
  • 那天粱坤,我揣著相機與錄音隶糕,去河邊找鬼。 笑死站玄,一個胖子當著我的面吹牛枚驻,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播株旷,決...
    沈念sama閱讀 40,078評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼再登,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了晾剖?” 一聲冷哼從身側(cè)響起锉矢,我...
    開封第一講書人閱讀 38,923評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎齿尽,沒想到半個月后沽损,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,334評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡雕什,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,550評論 2 333
  • 正文 我和宋清朗相戀三年缠俺,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片贷岸。...
    茶點故事閱讀 39,727評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡壹士,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出偿警,到底是詐尸還是另有隱情躏救,我是刑警寧澤,帶...
    沈念sama閱讀 35,428評論 5 343
  • 正文 年R本政府宣布螟蒸,位于F島的核電站盒使,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏七嫌。R本人自食惡果不足惜少办,卻給世界環(huán)境...
    茶點故事閱讀 41,022評論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望诵原。 院中可真熱鬧英妓,春花似錦、人聲如沸绍赛。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吗蚌。三九已至腿倚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蚯妇,已是汗流浹背敷燎。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評論 1 269
  • 我被黑心中介騙來泰國打工暂筝, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人懈叹。 一個月前我還...
    沈念sama閱讀 47,734評論 2 368
  • 正文 我出身青樓乖杠,卻偏偏與公主長得像,于是被迫代替她去往敵國和親澄成。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,619評論 2 354

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

  • 一畏吓、JS前言 (1)認識JS 也許你已經(jīng)了解HTML標記(也稱為結(jié)構(gòu))墨状,知道了CSS樣式(也稱為表示),會使用HT...
    凜0_0閱讀 2,769評論 0 8
  • 第1章 系好安全帶,準備啟航 1.1讓你認識JS 1.1.1 JavaScript能做什么菲饼?增強頁面動態(tài)效果(...
    張中華閱讀 1,368評論 4 10
  • 認識DOM文檔對象模型DOM(Document Object Model)定義訪問和處理HTML文檔的標準方法宏悦。D...
    jasmine_jing閱讀 785評論 0 3
  • 有時候無助的像個小孩镐确,突然在人來人往的十字路口走丟了親人,看著川流不息的人群和這個莫大的世界饼煞,突然失去了所有的支...
    觸不到的遠方閱讀 262評論 0 0
  • 最近《致我們單純的小美好》大熱砖瞧,男女主角也火了息堂,許久未看這種小清新校園劇的我,也擼了一把劇块促,確實勾起了老夫的少女心...
    陳暖妹閱讀 624評論 0 0