当前位置: 首页 > article >正文

Web APIs 1:基础介绍+DOM+定时器

Web APIs 1(基础介绍+DOM)

1.转变:变量声明const优先
  • 数组和对象尽量用const声明,当使用const 声明像数组、对象等引用型数据类型时,因为地址不变,所以里面的内容可以随意改变
2.API作用和分类
  • 作用:使用JS去操作html和浏览器
  • 分类:DOM(文档对象模型)、BOM(浏览器对象模型)
3.DOM介绍 : 通过JS操作网页内容
  • DOM树:将HTML文档以树状结构直观表现出来
  • DOM对象:浏览器根据html标签生成的JS对象
  • document对象:
    • 是DOM里提供的一个对象
    • 网页所有内容都在document中
    • 它的属性和方法都可以访问和操作页面内容
4.获取DOM对象
  • querySelector——根据CSS选择器获取单个DOM元素,可以直接修改样式

     document.querySelector('css选择器')
    
  • querySelectorAll——获取多个元素,获取过来的是伪数组,不能直接修改样式,要修改要进行遍历,没有pop、push等数组方法

     const li = document.querySelectorAll('ul li')
    
  • 其他获取DOM元素的方法(了解即可)

    • document.getElementById(‘’)
    • document.getElementsByTagName(‘’)
    • document.getElementsByClassName(‘’)
5.操作元素内容
  • 对象.innerText属性:修改元素内容(不解析标签)

     const box = document.querySelector('div')
     box.innerText = '修改后的文字内容'
    
  • 对象.innerHTML(解析标签)——常用

     const nav = document.querySelector('#nav')
     nav.innerHTML = '<strong>修改后的文字内容</strong>'
    
6.操作元素属性
  • 常用属性修改:对象.属性=值

    <body>
      <img src="../csdn.jpg" alt="">
      <script>
        const img = document.querySelector('img')
        img.src = '../csdn图片.jpg'
        img.title = '我的图片' //鼠标悬浮显示对该图片的描述
      </script>
    </body>
    
  • 元素样式属性

    • 通过style属性操作CSS——对象名.style.属性名=值

      注意用“-”隔开的属性名要变换为小驼峰命名法

    <style>
        .box {
          width: 200px;
          height: 200px;
          background-color: pink;
        }
      </style>
    </head>
    
    <body>
      <div class="box"></div>
      <script>
        const box = document.querySelector('.box')
        box.style.width = '400px'
        //多组即使用“-”隔开的单词变换为小驼峰命名法
        box.style.backgroundColor = 'green'
        box.style.border = '2px solid blue'
        box.style.borderTop = '2px solid red'
      </script>
    </body>
    
    • 通过类名操作CSS——修改样式较多
     <style>
        div {
          width: 200px;
          height: 200px;
          background-color: pink;
        }
        .box {
          width: 400px;
          height: 600px;
          background-color: aqua;
          margin: 100px auto;
          padding: 10px;
          border: 1px solid greenyellow;
        }
      </style>
    </head>
    
    <body>
      <div></div>
      <script>
        const div = document.querySelector('div')
        //添加类名,如果本身有类名会覆盖掉原来的 要保留原来的在这里就也要加上 添加多个类名用空格隔开就行
        div.className = 'box'
      </script>
    </body>
    
    • 通过classList操作类控制CSS(常用)

      上面的使用类名className要返回去确认是否本身有类名,容易覆盖掉原来的类名

     //追加类名 
      元素.classList.add('类名')
     //删除类名
      元素.classList.remove('类名')
     //切换类名 有还是没有,有就删除没有就加上
      元素.classList.toggle('类名')
    
  • 表单元素属性

    <body>
      <input type="text" value="电脑">
      <input class="check" type="checkbox" name="" id="">
      <button>点击</button>
      <script>
        //获取元素
        const uname = document.querySelector('input')
        //获取表单的值  用表单.value 而不是.innerHTML
        console.log(uname.value)
        uname.value = "换个名字"
        uname.type = "password"
        //设置复选框不选中
        const check = document.querySelector('.check')
        check.checked = false
        //设置按钮禁用,即无法点击
        bt = document.querySelector('button')
        bt.disabled = true
      </script>
    </body>
    
  • 自定义属性

    • 标签一律以data-开头,在DOM对象一律以dataset对象方式获取
    <body>
      <div data-id="1" data-pp="next自定义属性">1</div>
      <div data-id="2">2</div>
      <div data-id="3">3</div>
      <div data-id="4">4</div>
      <div data-id="5">5</div>
      <script>
        const one = document.querySelector('div')
        //会拿到第一个div的两个自定义属性组成的对象
        console.log(one.dataset)
        console.log(one.dataset.id) //1
        console.log(one.dataset.pp) //next自定义属性
      </script>
    </body>
    
7.定时器——间歇函数
  • 开启定时器(间隔时间单位为ms)

    • setInterval(函数名,间隔时间)
    <script>
        setInterval(function () {
          document.write('1秒执行一次')
        }, 1000)
    </script>
    
  • 关闭定时器

    • let 定时器编号 =setInterval(函数名,间隔时间)
    • clearInterval(定时器编号)
     //返回ID号,每个定时器都是独一无二的
        let n = setInterval(function () {
          document.write('1m执行一次')
        }, 1000)
        console.log(n) //查询定时器的编号
        clearInterval(n)
    

http://www.kler.cn/news/315571.html

相关文章:

  • 饭局礼仪:以下这7种动作,特容易被视为没教养,不要犯
  • Vue学习记录之三(ref全家桶)
  • 今日leetCode 1. 两数之和
  • (转载)智能指针shared_ptr从C++11到C++20
  • SpringSecurity6.x整合手机短信登录授权
  • 2024 硬盘格式恢复软件大揭秘
  • 《论分布式存储系统架构设计》写作框架,软考高级系统架构设计师
  • 无限边界:现代整合安全如何保护云
  • 怀庄之醉是勾兑酒吗?
  • YOLOv10改进,YOLOv10替换主干网络为PP-HGNetV2(百度飞桨视觉团队自研,独家手把手教程,助力涨点)
  • re题(38)BUUCTF-[FlareOn6]Overlong
  • 在vue中嵌入vitepress,基于markdown文件生成静态网页从而嵌入社团周报系统的一些想法和思路
  • 【GMNER】Grounded Multimodal Named Entity Recognition on Social Media
  • 负载均衡服务由几部分组成?分别是什么
  • vue3 中后台系统中,复杂表单的开发优化技巧
  • Spring框架总体结构
  • 无人机之航线规划篇
  • Flutter 项目结构的区别
  • 十八,Spring Boot 整合 MyBatis-Plus 的详细配置
  • linux中vim编辑器的应用实例
  • 基于LSTM的温度时序预测
  • 量化交易系统开发源码独立搭建
  • VUE项目在Linux子系统部署
  • 2.个人电脑部署MySQL,傻瓜式教程带你拥有个人金融数据库!
  • Google 释出 Android 15 源代码
  • 数业智能心大陆:职场倦怠的新解法
  • [数据集][目标检测]无人机飞鸟检测数据集VOC+YOLO格式6647张2类别
  • 安装selenium、chrome、chromedriver.exe相对应的版本
  • 【Java】线程暂停比拼:wait() 和 sleep()的较量
  • 安卓数据存储——SharedPreferences