JavaScript筆記(六)

demo6.html

<!DOCTYPE html>
<html lang = "en">
<head>
    <meta charset = "UTF-8">
    <title>Title</title>

    <script>
        function p(s){
            document.write(s);
            document.write("<br>");
        }
    </script>

</head>

<body>
<div id = "d1">
    Hello Html DOM
</div>
<br>
<div id = "d2">
    hello world
</div>
<br>

<button onclick = "changeDiv1()">通過內容節點方式改變div的內容</button>
<button onclick = "changeDiv2()">通過innerHTML改變div的內容</button>

<br>
<br>

<input id = "input1" class = "class1  class2" test = "t1" value = "這是一個輸入框">
<br>
<button onclick = "get()">獲取input的屬性</button>

<br>
<br>

<input id = "name">
<input type = "button" value = "驗證" onclick = "check()">
<span id = "noMessage" style = "color:red;display:none;">賬號已經存在</span>
<span id = "yesMessage" style = "color:green;display:none">賬號可以使用</span>

<br>
<br>

<button onclick = "switch1()">通過src屬性切換圖片1</button><br>
<button onclick = "switch2()">通過屬性節點切換圖片2</button><br>
<img id = "img" width = "100" src = "img\a.jpg"/>

<br>
<br>

<div style = "height:100px">
    <input type = "text" value = "3.14159265354" id = "in">
    <button onclick = "judge()">判斷</button>
    <span id = "out"></span>
</div>




<div style = "height:30px"></div>

<br>

</body>

<script>
    //節點名稱
    var div1 = document.getElementById("d1");
    p("document的節點名稱:" + document.nodeName);
    p("div元素的節點名稱:" + div1.nodeName);
    p("div下屬性節點的節點名稱:" + div1.attributes[0].nodeName);
    p("div下內容節點的節點名稱:" + div1.childNodes[0].nodeName);
    p(div1.childNodes[0].nodeValue);
</script>

<br>

<script>
    //節點值
    var div1 = document.getElementById("d2");
    p("document是沒有nodeValue的:" + document.nodeValue);
    p("元素節點是沒有nodeValue的:" + div1.nodeValue);
    p("屬性節點id的nodeValue:" + div1.attributes[0].nodeValue);
    p("內容節點的nodeValue:" + div1.childNodes[0].nodeValue);
</script>

<br>

<script>
    //節點類型
    p("document的nodeType是:" + document.nodeType);
    p("元素節點的nodeType是:" + div1.nodeType);
    p("屬性節點的nodeType是:" + div1.attributes[0].nodeType);
    p("內容節點的nodeType是:" + div1.childNodes[0].nodeType);
</script>

<br>

<script>
    // 修改與獲取內容的值可以通過 childNodes[0].nodeValue進行
    // 還有個簡便辦法就是通過innerHTML進行。 效果是一樣的。
    function changeDiv1(){
        document.getElementById("d1").childNodes[0].nodeValue = "通過childNodes[0].nodeValue改變內容";
    }
    function changeDiv2(){
        document.getElementById("d1").innerHTML = "通過innerHTML改變內容";
    }
</script>


<br>

<script>
    // 元素上的屬性,比如id,value 可以通過 . 直接訪問
    // 如果是自定義屬性,那麼可以通過如下兩種方式來獲取
    // getAttribute("test")
    // attributes["test"].nodeValue
    function get(){
        var input1 = document.getElementById("input1");
        var s = "id = " + input1.id + "<br>";
        s += "value = " + input1.value + "<br>";
        s += "class = " + input1.className + "<br>";
        s += "test = " + input1.getAttribute("test") + "<br>";
        s += "test = " + input1.attributes["test"].nodeValue + "<br>";
        document.getElementById("d1").innerHTML = s;
    }
</script>

<script>
    //驗證賬號是否已經存在
    //在js使用簡單的驗證規則: 如果賬號是以a或者A開頭的,那麼就提示已經存在了。
    function check(){
        var name = document.getElementById("name").value;
        var noMessage = document.getElementById("noMessage");
        var yesMessage = document.getElementById("yesMessage");
        noMessage.style.display = "none";
        yesMessage.style.display= "none";
        if(0 != name.length){
            var firstChar = name.charAt(0);
            if('a' == firstChar || 'A' == firstChar)
                noMessage.style.display = "inline";
            else
                yesMessage.style.display = "inline";
        }
    }
</script>
<script>
    //切換不同的圖片
    function switch1(){
        var img = document.getElementById("img");
        img.src = "img/a.jpg";
    }
    function switch2(){
        var img = document.getElementById("img");
        img.attributes["src"].nodeValue = "img/b.jpg";
    }
</script>
<script>
    //判斷輸入框裏的值,是否是整數(浮點數也不行)
    function judge(){
        var num = document.getElementById("in").value;
        if(parseInt(num) == num){
            document.getElementById("out").innerHTML = "是整數";
        }
        else{
            document.getElementById("out").innerHTML = "不是整數";
        }
    }
</script>
</html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章