day02 JS交互

2. 操作标签

2.1操作标签内容

操作标签内容分为两种

  1. 操作闭合标签内容

  2. 操作表单标签内容

2.1.1操作表单标签内容

  • 获取:标签.value

  • 设置 :标签.value = 值

<script>
        var oInput = document.getElementsByTagName("input")[0]
        //1.获取表单元素的value值   标签.value
        console.log(oInput);
        console.log(oInput.value)
​
        //2.设置表单元素的value值  标签.value = 值
        // oInput.value = "456"
​
        // 2.点击设置按钮  给表单元素设置value为456
        // 给button添加点击事件  标签.onclick = fucntion(){ 要做的事}
​
        var btn = document.getElementsByTagName("button")[0];
        btn.onclick = function(){
            oInput.value = "456"
        }
    </script>

2.1.2操作闭合标签内容

  • 获取: 标签.innerText 标签.innerHTML

 // 1.获取闭合标签的内容  标签.innerHTML   标签.innerText
        var oDiv = document.getElementsByTagName("div")[0];
        console.log(oDiv);
        console.log(oDiv.innerHTML);//今天周二了
        console.log(oDiv.innerText);//今天周二了
  • 设置:标签.innerText = 值 标签.innerHTML = 值

  // 2.设置闭合标签的内容  标签.innerHTML = 值  标签.innerText = 值
        //先将原先的内容拿出来(标签.innerHTML)  和 赵四链接在一起
        oDiv.innerHTML = oDiv.innerHTML +  "赵四"
        oDiv.innerText = "123"
​
​
        //3.给p标签设置内容 innerHTML和innerText的区别
        var oP  = document.getElementsByTagName("p")[0];
        console.log(oP)
        // oP.innerHTML = "<b>主人下马客在船</b>"
        oP.innerText  = "<b>蒋前进</b>"
  • ==innerText和innerHTML的区别==

相同点:都可以获取标签内容  都可以设置标签内容,设置的时候 两者都会重写
不同点:innerText不识别标签  innerHTML识别标签

2.2 操作标签属性

属性:属性是在开始标签上 属性名="属性值"

  • 获取:标签.属性名

  • 设置:标签.属性名 = 值

  • 特殊:class需要写成className设置

<script>
        var oDiv = document.getElementById("wrap");
        // 1.获取属性  标签.属性名        特殊:class需要用className获取
        console.log(oDiv.id);//wrap
        console.log(oDiv.className);//box
​
        var oA = document.getElementsByTagName("a")[0];
        console.log(oA.href);//https://www.baidu.com
​
​
        // 2.设置属性  标签.属性名 = 值    特殊:class需要className设置
        oDiv.id = "wrap1";
        oDiv.className = "box1";
        oA.href = "https://wwww.jd.com";
    </script>

2.3 操作标签样式

==注意:操作的都是行间样式==

  • 获取:标签.style.样式名

  • 设置:标签.style.样式名 = 值

  • 特殊:如果样式带连字符- 需要改写成驼峰名 例如background-color改为backgroundColor

 <script>
        // 以下操作的都是行间样式
        var oDiv = document.getElementsByTagName("div")[0];
        // 1.获取样式  标签.style.样式名  注意:如果是-链接的样式  需要改成小驼峰命名 例如background-color改为backgroundColor
        console.log(oDiv.style.width);//200px
        console.log(oDiv.style.height);//200px
        console.log(oDiv.style.color);//  
        console.log(oDiv.style.backgroundColor);//red
​
        var btn = document.getElementsByTagName("button")[0];
        // 2.设置样式  标签.style.样式名 = 值 注意:如果是-链接的样式  需要改成小驼峰命名 例如background-color改为backgroundColor
        btn.onmouseover = function () {
            oDiv.style.width = "500px";
            oDiv.style.backgroundColor = "teal";
        }
    </script>
  • cssText语法

 // 1.获取元素
        var oDiv = document.getElementsByTagName("div")[0];
        var btn = document.getElementsByTagName("button")[0];
        // 2.添加点击事件
        btn.onclick = function(){
            // 添加宽高背景色
            oDiv.style.width = "200px";
            oDiv.style.height = "200px";
            oDiv.style.backgroundColor = "teal";
            //cssText会重写style行间样式
            // oDiv.style.cssText = "width:200px;height:200px;background-color:pink" ;
        }

3.数据类型

数据类型:根据数据的特征,功能分为不同的数据类型 不同的数据类型有不同的操作

3.1 数据类型的分类

六大数据类型:五种基本数据类型和一个特殊类型
五种基本数据类型
            number 数值类型   10 40 60
      string 字符串类型  "123" "1000" '123'
      boolean  布尔类型   true|false
      undefined 未定义
      null  空对象
 一种特殊类型(复合类型 对象类型 引用类型)
          object  对象类型   {'name':'李四',age:20}
      array    数组      [10,20,30,40]
      function  函数     function(){}
​

3.2 typeof

  • 作用:检测数据类型

  • 语法:typeof(检测的数据) typeof 检测的数据

 <script>
        // 检测number类型
        var a = 10;
        // 1.typeof(检测的数据)  返回检测结果
        console.log(  typeof(a) );//number
        // 2.typeof 检测数据
        console.log( typeof a );//number
​
        var s1 = "ertyuiopdfghjkl";
       console.log(  typeof s1 );//string
​
       console.log(typeof(123),1);//number 1
       console.log(typeof("123"),"检测数据");//string "检测数据"
    </script>

3.3 number数值

  • number数值类型 整数 小数 负数 8进制 16进制 NaN

 <script>
        // number数值类型:整数  小数  负数  8进制 16进制  NaN
        // 1.整数
        var a = 10;
        console.log(a, typeof (a));//10 'number'
        // 2.小数
        var n1 = 3.1415926;
        console.log(n1, typeof (n1));//3.1415926 'number'
​
        var n2 = .5;
        console.log(n2, typeof (n2));//0.5 'number'
​
        var n3 = 5;
        console.log(n3, typeof (n3));// 'number'
​
        // 3.NaN  not a number 不是一个数  运算得不到正确的结果的时候
        var n7 = 10 / "你好";
        console.log(n7, typeof (n7));//NaN 'number'
​
        // 在js中 == 意思是左边的是否和右边的相等  如果相等返回true 否则返回false
        console.log(1 == 2);//false
        // 任意两个NaN都不相等
        console.log(NaN == NaN);//false
​
​
        /*------------------------------了解-----------------------------*/
        // 浏览器是显示10进制的数
        //4. 8进制:以0开头 范围在0-7之间
        var n4 = 070;
        console.log(n4, typeof (n4));//56
​
        var n5 = 0771;
        console.log(n5, typeof (n5));//505
​
        // 5. 16进制  以0x开头  范围0-9  a-10 b-11 c-12 d-13 e-14 f-15
        var n6 = 0xff;
        console.log(n6, typeof (n6))
​
​
        // 6.小数在运算的时候会精度缺失
        //是因为计算机在计算的时候 是先将数转换为二进制进行计算,在转换过程中出现精度缺失
        var n8 = 0.1 + 0.2
        console.log(n8);//0.30000000000000004
        console.log(n8 == 0.3);//false  不要把小数运算作为判断条件 是不会影响代码的执行的
    </script>
  • NaN not a number 不是一个数

// 3.NaN  not a number 不是一个数  运算得不到正确的结果的时候
        var n7 = 10 / "你好";   //   / 除  *乘
        console.log(n7, typeof (n7));//NaN 'number'

3.4 string字符串

string字符串:引号引起来的都是字符串 ("" ''),==所有从页面中获取的聂荣都是字符串类型==

  • 字符串.length :获取字符串的长度

  • 字符串[下标] :获取对应下标的字符 下标都是从0开始

  • 字符串.charAt(下标) 获取对应下标的字符

  • 字符串遇到+ 会拼接

 <script>
        // 1.string类型  用引号引起来的都是string类型
        var s1 = "123";
        console.log(s1,typeof(s1));// "123" "string"
        var s2 = "0711web";
        console.log(s2,typeof(s2));// "0711web" "string"
​
        var s3 = "中公教育软件学员2022年0711web";
​
        // 2.字符串.length  获取字符串的长度
        console.log( s1.length );//3
​
        console.log( s2.length);//7
​
        //3.字符串[下标]   获取对应下标的字符  下标都是从0开始
         var res =   s1[1];
         console.log(res);//2
​
         var res1 = s2[4];
         console.log(res1)//w
         console.log( s3[3]);//育
​
        //4.字符串.charAt(下标)  获取对应下标的字符
        var res2 =   s3.charAt(0);
        console.log(res2);//中
​
        console.log(s3.charAt(7));//员
​
​
        //5.字符串遇到+ 会拼接
        console.log(1 + 1);//2
        console.log(1 + '1');//"11" 是字符串的类型11
        console.log(10 + 5 + '30');//"1530"
        console.log( "30"+ 10 + 5);// "3010" + 5 = "30105"
        console.log(10 + "30" + 5);// "10305"
​
    </script>

3.5 boolean布尔类型

    <script>
        // boolean类型  true和false
        var b1 = true;
        console.log(b1,typeof(b1));// true "boolean"
        var b2 = false;
        console.log(b2,typeof(b2));// false "boolean"
    </script>

3.6 null与undefined

3.6.1 undefined

undefined未定义   去拿快递 但是没有你的快递包裹
​
       var a  = null;
        console.log(a,typeof(a));// null "object"

3.6.2 null

null   空对象     快递员给了你一份空包裹
​
        var b = undefined;
        console.log(b,typeof(b));// undefined "undefined"
  • ==null和undefined有什么区别==

 undefined 未定义 声明变量但没有赋值,没有存储空间
 null 空对象,有存储空间(值为空)

4.面试题

1-innerHTML和innerText的区别?
2-typeof检测不同数据类型的返回值分别是什么
3-null和undefined的区别
4-NaN是什么意思,什么时候出出现NaN
5-js的数据类型有哪些?
6-如何获取和设置标签样式
7-如何获取和设置标签属性
8-如何操作表单标签内容
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ezr-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值