SOURCE

console 命令行工具 X clear

                    
>
console
window.onload = function() {
    // document.getElementById
    var oDiv1 = document.getElementById("Div1");
    console.log("The node type of oDiv1 is " + oDiv1.nodeType);

    var oAttributeNode = oDiv1.getAttributeNode("id");
    console.log("The node type of oAttributeNode is " + oAttributeNode.nodeType);

    var oTextNode = oDiv1.childNodes[0];

    console.log("The node type of oTextNode is " +oTextNode.nodeType);

    console.log(oDiv1.childNodes.length);
    console.log(oDiv1.childNodes[0].textContent);
    console.log(oDiv1.childNodes[1].textContent);
    console.log(oDiv1.childNodes[2].textContent);
    
    // getElementsByTagName
    var oDivs = document.getElementsByTagName("div");

    console.log("The length of oDivs is " + oDivs.length);

    if (oDiv1 == oDivs[0]) {
        console.log("We are the same node.");
    }

    console.log(oDivs[1].childNodes[0].textContent);
    console.log(oDivs[1].childNodes[1].textContent);
    console.log(oDivs[1].childNodes[2].textContent);
    console.log(oDivs[1].childNodes[3].textContent);
    console.log(oDivs[1].childNodes[4].textContent);
    console.log(oDivs[2].childNodes.length);

    var oUls = document.getElementsByTagName("ul");
    var oLisInUl1 = oUls[0].getElementsByTagName("li");
    var oLisInDoc = document.getElementsByTagName("li");

    console.log("The length of oLisInUl1 is " + oLisInUl1.length);
    console.log("The length of oLisInDoc is " + oLisInDoc.length);
    //var oLi = oUls[0].getElementById("11");

    // getElementsByClassName()
    var oLists = document.getElementsByClassName("list");
    console.log("The length of oLists is " + oLists.length);

    var oRadios = oDivs[1].getElementsByClassName("radio");
    console.log("The length of oRadios is " + oRadios.length);

    var oRadios3 = oDivs[2].getElementsByClassName("radio");
    console.log("The length of oRadios3 is " + oRadios3.length);

    // querySelector
    // 通过伪类选择器选择第一个checked状态为真的input元素
    var oInputFemale = document.querySelector("input:checked");
    console.log("line 54: " + oInputFemale.value);

    //通过元素选择器查找所有input元素,这种最好使用getElementsByTagName,效率更高
    var oInputs = document.querySelectorAll("input");
    console.log("line 57: " + oInputs.length);

    oInputs[1].checked = true;
    oInputs[3].checked = true;

    //通过类选择器查找所有class为radio的元素,这种最好使用getElementsByClassName,效率更高
    var oClassInputs = document.querySelectorAll(".radio");
    oClassInputs[0].checked = true;

    //通过id选择器查找第一个id为Li11的元素,这种最好使用getElementById,效率更高
    var oLi11 = document.querySelector("#Li11");
    oLi11.style.color = "red";

    //查找父元素的id为List2的所有li元素
    var oList2Lis = document.querySelectorAll("#List2 li");
    oList2Lis[0].style.color = "blue";
    oList2Lis[1].style.color = "green";
    oList2Lis[2].style.color = "orange";

    //通过getElementsByName查找元素
    var oNamedRadios= document.getElementsByName("gender");
    console.log("Line 80: " + oNamedRadios[0].value);
    oNamedRadios[1].checked = true;

    var oFruits= document.getElementsByName("fruit");
    console.log("Line 80: " + oFruits[0].value);
    oFruits[0].checked = false;

    //var oDivFruits = oDivs[2].getElementsByName("fruit");
    console.log(document.title);
    console.log(document.body.tagName);

    //console.log(document.body.childNodes.length)

    // 创建简单元素
    var oDynamicButton = document.createElement("button");
    var oTextNode = document.createTextNode("替换");

    oDynamicButton.appendChild(oTextNode);

    //document.body.appendChild(oDynamicButton);
    document.body.insertBefore(oDynamicButton, oUls[0]);

    oDynamicButton.onclick = function() {
        // 元素替换
        var oDiv1 = document.getElementById("Div1");
        var oPHi = document.createElement("p");
        var oPText = document.createTextNode("Hi");
        oPHi.appendChild(oPText);

        oDiv1.replaceChild(oPHi, oDiv1.childNodes[1]);

    }

    // 查看属性
    console.log("Line 114: The id of oDiv1: " + oDiv1.id);
    console.log("Line 115: The data of oDiv1: " + oDiv1.getAttribute("id"));
    console.log("Line 116: The data of oDiv1: " + oDiv1.data); // 不能通过对象属性获取自定义属性的值
    console.log("Line 117: The data of oDiv1: " + oDiv1.getAttribute("data"));

    console.log("Line 114: The class of oDiv1: " + oDiv1.className);

    // 设置属性
     var oInput = document.getElementById("insertInput");
     //oInput.value = "Enter...";
     oInput.setAttribute("value", "Enter");

    // 删除属性
    oInput.removeAttribute("value");
    oUls[0].removeAttribute("class");

    // 判断属性是否存在
    if (oInput.hasAttribute("value")) {
        console.log("value is the attribute of oInput");
    }


}

function insertToList() {
    var oInput = document.getElementById("insertInput");
    var oInputText = oInput.value;
    console.log(oInputText);

    var oUl = document.getElementById("List1");
    var oLis = oUl.getElementsByTagName("li");

    var oCreatedLi = oLis[0].cloneNode(false);
    oCreatedLi.textContent = oInputText;

    oUl.insertBefore(oCreatedLi, oLis[0]);
}

function removeTop() {
    var oUl = document.getElementById("List1");
    var oLis = oUl.getElementsByTagName("li");

    oUl.removeChild(oLis[0]);
}

function appendToList() {
    var oInput = document.getElementById("appendInput");
    var strValue = oInput.value;

    //2. 克隆节点的方法
    var oList2 = document.getElementById("List2");
    var oLis = oList2.getElementsByTagName("li");
    var oCreatedLi = oLis[1].cloneNode(true);
    oCreatedLi.textContent = strValue;

    oList2.appendChild(oCreatedLi);

}

function removeBottom() {
    var oList2 = document.getElementById("List2");
    var oLis = document.getElementsByTagName("li");

    oList2.removeChild(oLis[oLis.length - 1]);
}
<!DOCTYPE html> 
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
    </head>
    <body>
        <div id="Div1" data="userDefined" class="div1">
            <p id="Paragraph">Hello</p>
            World
        </div>
        <ul id="List1" class="list">
            <li id = "Li11"> Html </li>
            <li> Javascript </li>
            <li> CSS </li>
            <li> Webpack </li>
        </ul>
        <input id="insertInput" type="text"></input>
        <button onclick="insertToList()">插入列表元素顶部</button>
        <button onclick="removeTop()">删除顶部元素</button>
        <ul id="List2" class="list">
            <li> Vue </li>
            <li> React </li>
            <li> Angular </li>
        </ul>
        <input id="appendInput" type="text"></input>
        <button onclick="appendToList()">添加到列表元素的尾部</button>
        <button onclick="removeBottom()">删除尾部元素</button>
        <div>
            你的性别是:
            <input class="radio" type="radio" name="gender" checked="true" value="女"></input>
            <input class="radio" type="radio" name="gender" value="男"></input>
        </div>
        <div>
            你喜欢那些水果:
            <input type="checkbox" name="fruit" checked="true" value="苹果">苹果</input>
            <input type="checkbox" name="fruit" value="梨"></input>
        </div>    
        <div id="DynamicDiv1"></div>
        <div id="DynamicDiv2"></div>
    </body>
</html>