美文网首页
day_1_9 js

day_1_9 js

作者: 梦蓝樱飞2020 | 来源:发表于2018-01-17 18:41 被阅读0次

    在JavaWeb中, 常见的JS语法与Java大同小异.
    我在这里主要总结一下JavaScript有关DOM操作和其内置对象的用法.

    1. DOM

    DOM(Document Object Model): 文档对象模型, 是JS动态操作HTML标签的依据.

    a) 元素节点的获取
    document.getElementById();
    document.getElementsByName();
    document.getElementsByTagName();
    

    示例代码:

    <!DOCTYPE html>
    <html>
      <head>
        <title>dom1.html</title>
        <meta charset="UTF-8">
      </head>
      
      <body>
        用户名:<input type="text" name = "username" id="userid"/>
               <br/>
        性别:<input type="radio" name="sex" value="male"/> 男
            <input type = "radio" name="sex" value="female"/>女
        
        <button>点击</button>
        <script type="text/javascript">
            
    //          var nameInput = document.getElementById("userid"); // 根据id获取元素节点
    //          nameInput.type = "checkbox"; // 将文本框变成复选框
    //          alert(nameInput.name);
            
    //          //根据标签名来获取元素节点, 得到的是一个对象数组
    //          var inputArr = document.getElementsByTagName("input");
    //          alert(inputArr[1].value);
            
            document.getElementsByTagName("button")[0].onclick = function() {
                alert("按钮被点击了");
            }
            
            //根据name属性值来获取
            var arr = document.getElementsByName("sex");
            for(var i = 0; i < arr.length;i++){
                alert(arr[i].value);
            }
            
        </script>
      </body>
    </html>
    
    
    b) 动态增加内容

    如在<ul>标签下动态地增加一个<li>标签:

    <!DOCTYPE html>
    <html>
      <head>
        <title>dom2.html</title>
        <meta charset="UTF-8">
      </head>
      
      <body>
        <ul>
            <li>狗娃</li>
            <li>狗剩</li>
            <li>铁蛋</li>
        </ul>
        <input type = "button" value="点击领取翠花" onclick="add()"/>
        
        <script type="text/javascript">
            function add(){
                //添加翠花
                //创建li元素节点
                var liElement = document.createElement("li");
                //创建 “翠花” 文本节点
                var textNode = document.createTextNode("翠花");
                
                //将文本节点添加到元素节点: 父节点.appendChild(子节点)
                liElement.appendChild(textNode);
                
                //获取ul元素节点
                var ulElement = document.getElementsByTagName("ul")[0];
                ulElement.appendChild(liElement);
            }
        </script>
      </body>
    </html>
    
    
    c) 操作元素节点的属性

    即改变一个HTML标签的属性

    <!DOCTYPE html>
    <html>
      <head>
        <title>dom3.html</title>
        <meta charset="UTF-8">
      </head>
      
      <body>
        <input type = "text" name = "username" value = "gouwa" />
        <script type="text/javascript">
            
              /*
                1.   元素对象.属性名       获取属性值
                2.   元素对象.getAttribute("属性名")     获取属性值
                3.   元素对象.setAttribute("属性名","属性值");  添加或者设置属性名和对应的属性值
                4.   元素对象.removeAttribute("属性名");
              */
              alert(document.getElementsByTagName("input")[0].getAttribute("name"));//获取属性值
              //设置属性值
              document.getElementsByTagName("input")[0].setAttribute("value","狗剩");
              
              //移除属性
              document.getElementsByTagName("input")[0].removeAttribute("value");
        </script>
      </body>
    </html>
    
    

    2. JS常见内置对象

    window

    所有浏览器都支持 window 对象。它表示浏览器窗口。
    所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。(在使用时, window对象可以省略)

    alert();  弹出框
    confirm(); 警告框
    prompt(); 输入框
    

    示例代码:

    <!DOCTYPE html>
    <html>
      <head>
        <title>window_01.html</title>
        
        <meta charset="UTF-8">
    
      </head>
      
      <body>
        <button onclick="delete_()">删除</button>
        <script type="text/javascript">
            
            function delete_(){
                var flag = confirm("一定要删除吗 ?不能后悔的!!");
                if (flag == true) {
                    alert("删除成功");
                }
            }
            
            // prompt() 输入框
    //      function delete_() {
    //          var itemsID = window.prompt("请输入要删除的商品的id", "默认id");
    //          alert(itemsID);
    //      }
        </script>
      </body>
    </html>
    
    

    补充: 使用window对象实现定时器

    <!DOCTYPE html>
    <html>
      <head>
        <title>window_02.html</title>
        
        <meta charset="UTF-8">
    
      </head>
      
      <body>
        <button onclick="clear_()">清除定时任务</button>
        <script type="text/javascript">
            //定义函数
            function aaa(){
                alert("helloworld");
            }
    
            //定时器的实现
    //      window.setTimeout("aaa()", 3000);//只会执行一次
    
            var interval = window.setInterval("aaa()", 2000);//循环执行
    
            function clear_(){
                window.clearInterval(interval);//清除定时任务
            }
        </script>
      </body>
    </html>
    
    
    location

    location对象的href 属性, 一般用来作为页面的跳转

    <!DOCTYPE html>
    <html>
      <head>
        <title>location.html</title>
        
        <meta charset="UTF-8">
    
      </head>
      
      <body>
        <button onclick="change_()">跳转到百度页面</button>
        
        <script type="text/javascript">
            function change_(){
                location.href = "http://www.baidu.com";
            }
        </script>
      </body>
    </html>
    
    
    history

    历史记录中前进/后退

    <!DOCTYPE html>
    <html>
      <head>
        <title>history_01.html</title>
        
        <meta charset="UTF-8">
    
      </head>
      
      <body>
        <input type = "button" value="向前" onclick="forword_()"/>
         <input type = "button" value="退后" onclick="back_()"/>
         <a href="history_02.html">跳转到第二个页面</a>
        <script type="text/javascript">
            /*
            
            history对象
            back()
            go()
            forward()
            */
            function forword_(){
                history.forward(); // 返回到上一个页面
    //          history.go(1);
            }
            
            function back_(){
                //history.back();
                history.go(-1);
            }
        </script>
      </body>
    </html>
    
    

    相关文章

      网友评论

          本文标题:day_1_9 js

          本文链接:https://www.haomeiwen.com/subject/grxuoxtx.html