为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
JavaScript进阶篇_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

JavaScript进阶篇

慕课官方号 页面重构设计
难度入门
时长 8小时55分
  • 1、元素节点:<html><body><p>等都是元素节点,即标签

    2、文本节点:向用户展示的内容,如<li>...<li>中的JavaScript、DOM、CSS等文本

    3、属性节点:元素属性,如<a>标签的链接属性href="http://www.imooc.com"。

    遍历节点树:

    节点属性:

    DOM操作:


    查看全部
    0 采集 收起 来源:认识DOM

    2018-07-26

  • 不明白这节 下面的问答

    查看全部
  • 在文档对象模型 (DOM) 中,每个节点都是一个对象。DOM 节点有三个重要的属性 :

    1. nodeName : 节点的名称

    2. nodeValue :节点的值

    3. nodeType :节点的类型

    一、nodeName 属性: 节点的名称,是只读的。

    1. 元素节点的 nodeName 与标签名相同
    2. 属性节点的 nodeName 是属性的名称
    3. 文本节点的 nodeName 永远是 #text
    4. 文档节点的 nodeName 永远是 #document

    二、nodeValue 属性:节点的值

    1. 元素节点的 nodeValue 是 undefined 或 null
    2. 文本节点的 nodeValue 是文本自身
    3. 属性节点的 nodeValue 是属性的值

    三、nodeType 属性: 节点的类型,是只读的。以下常用的几种结点类型:

    元素类型    节点类型
      元素          1
      属性          2
      文本          3
      注释          8
      文档          9


    查看全部
    0 采集 收起 来源:节点属性

    2018-07-25

  • document.write(mystr.substr(mystr.indexOf("W"))  + "<br />");
    document.write(mystr.substr(0,"Hello".length) );

    查看全部
  • 以人来举例说明,人有能标识身份的身份证,有姓名,有类别(大人、小孩、老人)等。

    1. ID 是一个人的身份证号码,是唯一的。所以通过getElementById获取的是指定的一个人。

    2. Name 是他的名字,可以重复。所以通过getElementsByName获取名字相同的人集合。

    3. TagName可看似某类,getElementsByTagName获取相同类的人集合。如获取小孩这类人,getElementsByTagName("小孩")。


    查看全部
  • <!DOCTYPE html>

    <html>

     <head>

      <title> 事件</title>  

      <script type="text/javascript">

       function count(){

           var a;

           var x=document.getElementById("txt1").value;

           var y=document.getElementById("txt2").value;

           var z=document.getElementById("select").value;

           switch(z){

               case '+':

                   a=parseInt(x)+parseInt(y);

                   break;

                case '-':

                    a=parseInt(x)-parseInt(y);

                    break;

                case '*':

                    a=parseInt(x)*parseInt(y);

                    break;

                case '/':

                    a=parseInt(x)/parseInt(y);

                    break;

           }

           document.getElementById("fruit").value = a;

       }

      </script> 

     </head> 

     <body>

       <input type='text' id='txt1' /> 

       <select id='select'>

    <option value='+'>+</option>

    <option value="-">-</option>

    <option value="*">*</option>

    <option value="/">/</option>

       </select>

       <input type='text' id='txt2' /> 

       <input type='button' value=' = ' onclick="count()"/> <!--通过 = 按钮来调用创建的函数,得到结果--> 

       <input type='text' id='fruit' />   

     </body>

    </html>

    查看全部
    0 采集 收起 来源:编程练习

    2018-07-25

  • JS回顾篇

    查看全部
    0 采集 收起 来源:让你认识JS

    2018-07-25

  • <!DOCTYPE  HTML>

    <html >

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>流程控制语句</title>

    <script type="text/javascript">


     //第一步把之前的数据写成一个数组的形式,定义变量为 infos

     var infos = new Array();

     infos = [

         ['小A','女',21,'大一'],

         ['小B','男',23,'大三'],

         ['小C','男',24,'大四'],

         ['小D','女',21,'大一'],

         ['小E','女',22,'大四'],

         ['小F','男',21,'大一'],

         ['小G','女',22,'大二'],

         ['小H','女',20,'大三'],

         ['小I','女',20,'大一'],

         ['小J','男',20,'大三']

         ];

     //第一次筛选,找出都是大一的信息

     for(var i = 0; i < infos.length; i++){

         if(infos[i][3] == "大一"){

             if(infos[i][1] == "女"){  

                 document.write(infos[i][0] + "</br>");

             }

         }

     }

      

     //第二次筛选,找出都是女生的信息

     

     

      

    </script>

    </head>

    <body>

    </body>

    </html>


    查看全部
    0 采集 收起 来源:编程练习

    2018-07-25

  • body相对于html有一个默认的margin 8px

    documentElement.offsetHeight 在chrome中是html文档大小,对应html的高度,为8px(由于默认margin的存在)(由于body高度为0,margin-top与margin-bottom重合)

    body.offsetHeight在chrome中是body文档大小,对应body的高度,由于无内容,body为0px

    offsetHeight = documentElement.offsetHeight || body.offsetHeight = 8 || 0 = 8 px

    (注意,这里不是或运算,而是逻辑短路。这也就意味着如果documentElement.offsetHeight不为0,其结果就是documentElement.offsetHeight,否则为body.offsetHeight。)

    这就是为什么offsetHeight会变成8px。经过测试,如果在中间添加一个有height的div,documentElement.offsetHeight会比body.offsetHeight大16。(margin-top+margin-bottom)


    而documentElement.clientHeight与documentElement.scrollHeight在chrome中都是视口大小。。。

    body.clientHeight与body.scrollHeight都是body的文档大小,为0px


    宽度同理,但由于宽度默认是100%的,所以一开始就有16px的差值。由于或运算的存在,最后得到的都是documentElement.offsetHeight,也就是视口大小,在你这里就是370px,而body.offsetHeight应该为370px-16px=354px。在这里 Width = 370 || 354 = 370. 


    以上只针对chrome,其他内核的浏览器如火狐,IE8是不同的,请自行测试。


    查看全部

  • <!DOCTYPE  HTML>

    <html >

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <title>数组</title>

    <script type="text/javascript">

     var arr = ['*','##',"***","&&","****","##*"];

     //创建数组

     arr[7] = "**";

     //显示数组长度

     var length = arr.length;

     document.write(length + "</br>");

     //将数组内容输出,完成达到的效果。

     /*for(var i = 0; i < length; i++){

        if(arr[i] == "##" || arr[i] == "&&" || arr[i] == "##*" || arr[i] == undefined){

            

        }

        else{

           document.write(arr[i] + "</br>"); 

        }

     }*/

     document.write(arr[0] + "</br>"); 

     document.write(arr[7] + "</br>"); 

     document.write(arr[2] + "</br>"); 

     document.write(arr[4] + "</br>"); 

    </script>

    </head>


    查看全部
    0 采集 收起 来源:编程练习

    2018-07-25

  • PS:content.childNodes在删除的过程中是变化的,所以下面的用content.childNodes[0],不要用content.childNodes[i]

    var content=document.getElementById("content");
    var len=content.childNodes.length;
    for (i = 1;i<len;i++){
    x = content.removeChild(content.childNodes[0]);
    x = null;
    }

    查看全部
  • 无法弹出对话框时 又无逻辑错误时 需要检查一下符号和括号是否正确 要用小写英文去写。



    查看全部
    0 采集 收起 来源:编程练习

    2018-07-24

  • document.getElementById("id").value=1;//赋值

    var a=document.getElementById("id").value;//取值

    b=parseInt(a);//获取输入框输入的值



    查看全部
    0 采集 收起 来源:编程练习

    2018-07-24

  • window.onunload=onunload_message;

    function onunload_message(){

    alert("您确定离开该网页吗?");

    查看全部
  •   for(var i=0,len=oLis.length;i<len;i++){//通过循环为所有的LI绑定点击事件            oLis[i].index=i;//添加index属性,方便后期找到当前点击LI对应的DIV,为其去除hide样式,即将其className赋值为空            oLis[i].onclick=function(){//循换绑定点击事件                for(var n=0;n<len;n++){//通过循环将所有的li的className赋值为空,即所有的LI皆是未点击的样式,所有的DIV的className为hide样式,即所有DIV都隐藏                    oLis[n].className="";                    oDivs[n].className="hide";                }            this.className="on";   //通过this获取到当前点击的LI,将其className赋值为on,即让当前点击的LI显示其应有的点击样式           oDivs[this.index].className=""//通过循环体内第一条语句存储的index值,找到当前点击LI对应的DIV,去除原有的hide样式,让其显示            }        };

    查看全部
    5 采集 收起 来源:编程挑战

    2018-07-24

举报

0/150
提交
取消
课程须知
你需要具备HTML、css基础知识,建议同学们也可以想学习下js入门篇,快速认识js,熟悉js基本语法,更加快速入手进阶篇!
老师告诉你能学到什么?
通过JavaScript学习,掌握基本语法,制作简单交互式页面
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!