九色国产,午夜在线视频,新黄色网址,九九色综合,天天做夜夜做久久做狠狠,天天躁夜夜躁狠狠躁2021a,久久不卡一区二区三区

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
javascript之DOM操作


一、document.getElementById()    根據(jù)Id獲取元素節(jié)點(diǎn)

    <div id="div1">        <p id="p1">            我是第一個(gè)P</p>        <p id="p2">            我是第二個(gè)P</p>    </div>        window.onload = function () {            var str = document.getElementById("p1").innerHTML;            alert(str);        //彈出    我是第一個(gè)P        }


二、document.getElementsByName()    根據(jù)name獲取元素節(jié)點(diǎn)

    <div id="div1">        <p id="p1">            我是第一個(gè)P</p>        <p id="p2">            我是第二個(gè)P</p>        <input type="text" value="請輸入值" name="userName" />        <input type="button" value="確定" onclick="fun1()">    </div>                function fun1() {            var username = document.getElementsByName("userName")[0].value;            alert(username);    //輸出userName里輸入的值        }


三、document.getElementsByTagName()    根據(jù)HTML標(biāo)簽名獲取元素節(jié)點(diǎn),注意getElements***的選擇器返回的是一個(gè)NodeList對象,能根據(jù)索引號(hào)選擇其中1個(gè),可以遍歷輸出。

    <div id="div1">        <p id="p1">            我是第一個(gè)P</p>        <p id="p2">            我是第二個(gè)P</p>    </div>    window.onload = function () {            var str = document.getElementsByTagName("p")[1].innerHTML;            alert(str);        //輸出  我是第二個(gè)P,因?yàn)楂@取的是索引為1的P,索引從0開始        }        window.onload = function () {            var arr = document.getElementsByTagName("p");            for (var i = 0; i < arr.length; i++) {                alert(arr[i].innerHTML);            }        }    window.onload = function () {            var node = document.getElementById("div1");         var node1 = document.getElementsByTagName("p")[1];    //從獲取到的元素再獲取            alert(node1.innerHTML);    }


四、document.getElementsByClassName()    根據(jù)class獲取元素節(jié)點(diǎn)

    <div id="div1">        <p id="p1" class="class1">            我是第一個(gè)P</p>        <p id="p2">            我是第二個(gè)P</p>    </div>    window.onload = function () {            var node = document.getElementsByClassName("class1")[0];            alert(node.innerHTML);        }

五、javascript中的CSS選擇器

    document.querySelector()    //根據(jù)CSS選擇器的規(guī)則,返回第一個(gè)匹配到的元素    document.querySelectorAll()    //根據(jù)CSS選擇器的規(guī)則,返回所有匹配到的元素    <div id="div1">        <p id="p1" class="class1">            我是第一個(gè)P</p>        <p id="p2" class="class2">            我是第二個(gè)P</p>    </div>        window.onload = function () {            var node = document.querySelector("#div1 > p");                alert(node.innerHTML);                //輸出  我是第一個(gè)P            var node1 = document.querySelector(".class2");            alert(node1.innerHTML);                //輸出  我是第二個(gè)P            var nodelist = document.querySelectorAll("p");            alert(nodelist[0].innerHTML + " - " + nodelist[1].innerHTML);    //輸出  我是第一個(gè)P - 我是第二個(gè)P        }


六、文檔結(jié)構(gòu)和遍歷
    (1)作為節(jié)點(diǎn)數(shù)的文檔
    1、parentNode    獲取該節(jié)點(diǎn)的父節(jié)點(diǎn)    
    2、childNodes    獲取該節(jié)點(diǎn)的子節(jié)點(diǎn)數(shù)組
    3、firstChild    獲取該節(jié)點(diǎn)的第一個(gè)子節(jié)點(diǎn)
    4、lastChild    獲取該節(jié)點(diǎn)的最后一個(gè)子節(jié)點(diǎn)
    5、nextSibling    獲取該節(jié)點(diǎn)的下一個(gè)兄弟元素
    6、previoursSibling    獲取該節(jié)點(diǎn)的上一個(gè)兄弟元素
    7、nodeType    節(jié)點(diǎn)的類型,9代表Document節(jié)點(diǎn),1代表Element節(jié)點(diǎn),3代表Text節(jié)點(diǎn),8代表Comment節(jié)點(diǎn),11代表DocumentFragment節(jié)點(diǎn)
    8、nodeVlue    Text節(jié)點(diǎn)或Comment節(jié)點(diǎn)的文本內(nèi)容
    9、nodeName    元素的標(biāo)簽名(如P,SPAN,#text(文本節(jié)點(diǎn)),DIV),以大寫形式表示

    注意,以上6個(gè)方法連元素節(jié)點(diǎn)也算一個(gè)節(jié)點(diǎn)。

    <div id="div1">            <p id="p1" class="class1">                    我是第一個(gè)P</p>            <p id="p2" class="class2">                    我是第二個(gè)P</p>        </div>         window.onload = function () {            var node1 = document.querySelector(".class2");            alert(node1.parentNode.innerHTML); //輸出  <p id="p1" class="class1">我是第一個(gè)P</p><p id="p2" class="class2">我是第二個(gè)P</p>            var nodelist = document.getElementById("div1");            var arr = nodelist.childNodes;            alert(arr[1].innerHTML + " - " + arr[3].innerHTML); //輸出    我是第一個(gè)P - 我是第二個(gè)P 為什么是1,3呢?因?yàn)楸痉椒ㄎ谋竟?jié)點(diǎn)也會(huì)獲取,
                                           也就是說0,2,4是文本節(jié)點(diǎn) }
<div id="div1"> 文本1 <p id="p1" class="class1"> 我是第一個(gè)P</p> 文本2 <p id="p2" class="class2"> 我是第二個(gè)P</p> 文本3 </div> window.onload = function () { //依次輸出,文本1,我是第一個(gè)P,文本2,我是第二個(gè)P,文本3 var node = document.getElementById("div1"); for (var i = 0; i < node.childNodes.length; i++) { if (node.childNodes[i].nodeType == 1) { alert(node.childNodes[i].innerHTML); } else if (node.childNodes[i].nodeType == 3) { alert(node.childNodes[i].nodeValue); } } }

    (2)作為元素樹的文檔
    1、firstElementChild        第一個(gè)子元素節(jié)點(diǎn)
    2、lastElementChild        最后一個(gè)子元素節(jié)點(diǎn)
    3、nextElementSibling        下一個(gè)兄弟元素節(jié)點(diǎn)
    4、previousElementSibling    前一個(gè)兄弟元素節(jié)點(diǎn)
    5、childElementCount        子元素節(jié)點(diǎn)個(gè)數(shù)量
    注意,此5個(gè)方法文本節(jié)點(diǎn)不算進(jìn)去

        <div id="div1">            <p id="p1" class="class1">                我是第一個(gè)P</p>            <p id="p2" class="class2">                我是第二個(gè)P</p>      </div>        window.onload = function () {            var node = document.getElementById("div1");            var node1 = node.firstElementChild;            var node2 = node.lastElementChild;            alert(node.childElementCount);  //輸出2,div1一共有兩個(gè)非文檔子元素節(jié)點(diǎn)            alert(node1.innerHTML);         //輸出 我是第一個(gè)P            alert(node2.innerHTML);         //輸出 我是第二個(gè)P            alert(node2.previousElementSibling.innerHTML);  //輸出 我是第一個(gè)P(第二個(gè)元素節(jié)點(diǎn)的上一個(gè)非文本元素節(jié)點(diǎn)是P1)            alert(node1.nextElementSibling.innerHTML);      //輸出 我是第二個(gè)P(第一個(gè)元素節(jié)點(diǎn)的下一個(gè)兄弟非文本節(jié)點(diǎn)是P2)        }


七、javascript操作HTML屬性
    1、屬性的讀取,此處要注意的是,某些HTML屬性名稱在javascript之中是保留字,因此會(huì)有些許不同,如class,lable中的for在javascript中變?yōu)閔tmlFor,className。

    <div id="div1">            <p id="p1" class="class1"> 我是第一個(gè)P</p>            <img src="123.jpg" alt="我是一張圖片" id="img1" />            <input type="text" value="我是一個(gè)文本框" id="input1" />        </div>        window.onload = function () {            var nodeText = document.getElementById("input1");            alert(nodeText.value);        //輸出 我是一個(gè)文本框            var nodeImg = document.getElementById("img1");            alert(nodeImg.alt);            //輸出 我是一張圖片            var nodeP = document.getElementById("p1");            alert(nodeP.className);        //輸出 class1    注意獲取class是className,如果寫成nodeP.class則輸出undefined        }

    2、屬性的設(shè)置,此處同樣要注意的是保留字

    <div id="div1">            <img src="1big.jpg" alt="我是一張圖片" id="img1" onclick="fun1()" />        </div>    function fun1() {            document.getElementById("img1").src = "1small.jpg";        //改變圖片的路徑屬性。實(shí)現(xiàn)的效果為,當(dāng)點(diǎn)擊圖片時(shí),大圖變小圖。        }


    3、非標(biāo)準(zhǔn)HTML屬性
    getAttribute();    //注意這兩個(gè)方法是不必理會(huì)javascript保留字的,HTML屬性是什么就怎么寫。
    setAttribute();

        <div id="div1">            <img src="1big.jpg" alt="我是一張圖片" class="imgClass" id="img1" onclick="fun1()" />        </div>    function fun1() {            document.getElementById("img1").setAttribute("src", "1small.jpg");            alert(document.getElementById("img1").getAttribute("class"));        }

    4、Attr節(jié)點(diǎn)的屬性
        attributes屬性  非Element對象返回null,Element一半返回Attr對象。Attr對象是一個(gè)特殊的Node,通過name與value獲取屬性名稱與值。
        如:document.getElementById("img1")[0];
           document.getElementById("img1").src;

    <div id="div1">            <img src="1big.jpg" alt="我是一張圖片" class="imgClass" id="img1" onclick="fun1()" />        </div>    function fun1() {            alert(document.getElementById("img1").attributes[0].name);    //輸出  onclick    注意,通過索引器訪問是寫在右面在排前面,從0開始            alert(document.getElementById("img1").attributes.src.value);    //輸出1big.jpg            document.getElementById("img1").attributes.src.value = "1small.jpg";    //點(diǎn)擊后改變src屬性,實(shí)現(xiàn)了點(diǎn)擊大圖變小圖效果        }


八、元素的內(nèi)容
    1、innerText、textContent    innerText與textContent的區(qū)別,當(dāng)文本為空時(shí),innerText是"",而textContent是undefined
    2、innerHTML

    <div id="div1">            <p id="p1">我是第一個(gè)P</p>            <p id="p2">我是第<b></b>個(gè)P</p>        </div>        window.onload = function () {            alert(document.getElementById("p1").innerText);  //注意火狐瀏覽器不支持innerText            alert(document.getElementById("p1").textContent);    //基本都支持textContent            document.getElementById("p1").textContent = "我是p1,javascript改變了我";    //設(shè)置文檔Text            alert(document.getElementById("p2").textContent);            alert(document.getElementById("p2").innerHTML); //innerHTML與innerText的區(qū)別,就是對HTML代碼的輸出方式Text不會(huì)輸出HTML代碼        }


九、創(chuàng)建,插入,刪除節(jié)點(diǎn)
    1、document.createTextNode()    創(chuàng)建一個(gè)文本節(jié)點(diǎn)

        <div id="div1">            <p id="p1">我是第一個(gè)P</p>            <p id="p2">我是第二個(gè)P</p>        </div>    window.onload = function () {            var textNode = document.createTextNode("<p>我是一個(gè)javascript新建的節(jié)點(diǎn)</p>");            document.getElementById("div1").appendChild(textNode);        }


    完成后HTML變?yōu)椋?br>    div id="div1">
        <p id="p1">我是第一個(gè)P</p>
        <p id="p2">我是第二個(gè)P</p>
        我是一個(gè)javascript新建的節(jié)點(diǎn)
    </div>

    2、document.createElement()    創(chuàng)建一個(gè)元素節(jié)點(diǎn)

    <div id="div1">            <p id="p1">我是第一個(gè)P</p>            <p id="p2">我是第二個(gè)P</p>        </div>    window.onload = function () {            var pNode = document.createElement("p");            pNode.textContent = "新建一個(gè)P節(jié)點(diǎn)";            document.getElementById("div1").appendChild(pNode);        }

    執(zhí)行之后HTML代碼變?yōu)椋?br>
    <div id="div1">
        <p id="p1">我是第一個(gè)P</p>
        <p id="p2">我是第二個(gè)P</p>
        <p>新建一個(gè)P節(jié)點(diǎn)</p>
    </div>

    3、插入節(jié)點(diǎn)
        appendChild()    //將一個(gè)節(jié)點(diǎn)插入到調(diào)用節(jié)點(diǎn)的最后面
        insertBefore()    //接受兩個(gè)參數(shù),第一個(gè)為待插入的節(jié)點(diǎn),第二個(gè)指明在哪個(gè)節(jié)點(diǎn)前面,如果不傳入第二個(gè)參數(shù),則跟appendChild一樣,放在最后。

    <div id="div1">            <p id="p1">我是第一個(gè)P</p>        </div>    window.onload = function () {            var pNode1 = document.createElement("p");            pNode1.textContent = "insertBefore插入的節(jié)點(diǎn)";            var pNode2 = document.createElement("p");            pNode2.textContent = "appendChild插入的節(jié)點(diǎn)";            document.getElementById("div1").appendChild(pNode2);            document.getElementById("div1").insertBefore(pNode1,document.getElementById("p1"));        }

    執(zhí)行之后HTML代碼為:
    <div id="div1">
        <p>insertBefore插入的節(jié)點(diǎn)</p>
        <p id="p1">我是第一個(gè)P</p>
        <p>appendChild插入的節(jié)點(diǎn)</p>
    </div>

十、刪除和替換節(jié)點(diǎn)。
    1、removeChild();    由父元素調(diào)用,刪除一個(gè)子節(jié)點(diǎn)。注意是直接父元素調(diào)用,刪除直接子元素才有效,刪除孫子元素就沒有效果了。

    <div id="div1">            <p id="p1">我是第一個(gè)P</p>            <p id="p2">我是第二個(gè)P</p>        </div>    window.onload = function () {            var div1 = document.getElementById("div1");            div1.removeChild(document.getElementById("p2"));        }


    執(zhí)行之后代碼變?yōu)椋?br>    <div id="div1">
        <p id="p1">我是第一個(gè)P</p>    //注意到第二個(gè)P元素已經(jīng)被移除了
    </div>
    
    2、replaceChild()    //刪除一個(gè)子節(jié)點(diǎn),并用一個(gè)新節(jié)點(diǎn)代替它,第一個(gè)參數(shù)為新建的節(jié)點(diǎn),第二個(gè)節(jié)點(diǎn)為被替換的節(jié)點(diǎn)

    <div id="div1">            <p id="p1">我是第一個(gè)P</p>            <p id="p2">我是第二個(gè)P</p>        </div>    window.onload = function () {            var div1 = document.getElementById("div1");            var span1 = document.createElement("span");            span1.textContent = "我是一個(gè)新建的span";            div1.replaceChild(span1,document.getElementById("p2"));        }

    執(zhí)行完成后HTML代碼變?yōu)椋?br>    <div id="div1">
        <p id="p1">我是第一個(gè)P</p>
        <span>我是一個(gè)新建的span</span>    //留意到p2節(jié)點(diǎn)已經(jīng)被替換為span1節(jié)點(diǎn)了
    </div>

十一、javascript操作元素CSS

    通過元素的style屬性可以隨意讀取和設(shè)置元素的CSS樣式,例子:

<head>    <title></title>    <script type="text/javascript">        window.onload = function () {            alert(document.getElementById("div1").style.backgroundColor);            document.getElementById("div1").style.backgroundColor = "yellow";        }    </script></head><body>    <div id="div1" style="width:100px; height:100px; background-color:red"></div></body>

 

 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
身份證函數(shù) 查看身份證地區(qū)信息-編程實(shí)例-eNet網(wǎng)絡(luò)學(xué)院-中國最權(quán)威的電腦教程軟件資訊網(wǎng)...
網(wǎng)頁制作中常用的幾個(gè)簡單的選項(xiàng)卡特效代碼(很實(shí)用)
HTML DOM
DOM查詢練習(xí)
JavaScript 倒計(jì)時(shí) 精確到微秒
總價(jià)隨著數(shù)量的變化而變化
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服