day_1_9 js

在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>

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,911评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,014评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,129评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,283评论 1 264
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,159评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,161评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,565评论 3 382
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,251评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,531评论 1 292
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,619评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,383评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,255评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,624评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,916评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,199评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,553评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,756评论 2 335

推荐阅读更多精彩内容

  • 【日精进打卡第15天】 【知~学习】 《六项精进》2遍 共34遍 《大学》2遍 共32遍 ••••• 【经典名句分...
    苏龙涛阅读 141评论 0 0
  • 前阵《樊登读书会》推荐了一本新书《魏晋风华》,作者魏风华。我用该读书会的app听了一下内容介绍,就被其中的一个故事...
    李和同阅读 4,018评论 1 0
  • 德国南部的秋天早晚清冷,即便是晴日,也非得到了下午三四点,才是一天当中最温暖的时光。倘若在这个时刻,漫步在田野中,...
    大头麦阅读 162评论 0 0
  • 编号28 日精进581 今日分享主题《提醒》 1 2018年的这场雪比平时来的早了一些。雪好大也好美! 2在任何环...
    宇宙之爱黄昊贵阅读 128评论 0 0