首页 > 其他分享 >Web APIs 1:基础介绍+DOM+定时器

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

时间:2024-09-20 13:53:22浏览次数:14  
标签:box Web const APIs DOM querySelector document 类名

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)
    

标签:box,Web,const,APIs,DOM,querySelector,document,类名
From: https://blog.csdn.net/weixin_72043867/article/details/142383180

相关文章

  • 写了一个全自动化漏洞扫描系统(poc_scan_web)
    前言上一个网络安全产品《魔盒安全情报》会不定时给我推送各种最新的漏洞情报,于是就写了一个全自动化漏洞扫描系统。主要原理是通过空间测绘平台和搜索引擎自动采集目标资产,然后再通过封装好的漏洞插件扫描漏洞,最后将结果保存到数据库,再通过系统展示出来。截图任务管理添加......
  • JavaScript期末大作业 基于HTML+CSS+JavaScript技术制作web前端开发个人博客(48页) (1
    ......
  • webpack打包学习
    在大多数JavaScript项目中,build 和 web 文件夹通常用于存放不同类型的文件。 build 文件夹:通常用于存放项目构建后的文件。这些文件是将源代码、资源和依赖打包、编译、压缩后生成的,主要是为了生产环境。 web 文件夹:通常用于存放项目的源代码和资源文件,如HTML、CS......
  • 常规web项目 docker-compose 例子
    version:'3.1'services:db:image:postgres:13.1container_name:com_dbenvironment:POSTGRES_USER:rootPOSTGRES_PASSWORD:db123POSTGRES_DB:dbvolumes:-/opt/work/DDDDD/platform/com_db/db_data:/var......
  • Websocket防护的重要性及应对策略:快快网络专家团队的创新实践
    WebSocket(WSS)因其双向和全双工通信的特点,在现代网络通信中得到广泛应用,尤其是在需要低延迟和实时数据交互的场景中。然而,随着WebSocket的普及,其安全性问题也日益凸显,各种针对WSS的攻击手段层出不穷,给企业的数据安全带来了严峻的挑战。针对WSS的攻击具有多样性和隐蔽性。其中,最......
  • 如何在 ASP.NET Core Web API 方法执行前后 “偷偷“ 作一些 “坏“ 事?初识 ActionFil
    前言:什么是ActionFilterAttribute?ActionFilterAttribute是一种作用于控制器Action方法的特性(Attribute),通过它,你可以在操作执行前后、异常处理时等不同的阶段插入自定义逻辑。比如在执行操作方法之前修改请求参数、记录日志、进行权限验证等操作,在执行操作方法之后发送邮件......
  • ssm基于javaweb的疫情管理系统的设计与实现
    系统包含:源码+论文所用技术:SpringBoot+Vue+SSM+Mybatis+Mysql免费提供给大家参考或者学习,获取源码请私聊我需要定制请私聊目录摘要 IAbstract II第1章绪论 11.1研究背景及意义 11.2研究内容 1第2章开发环境与技术 32.1Java语言 32.2MYSQL数据库 3......
  • web - JavaScript
    JavaScript1,JavaScript简介JavaScript是一门跨平台、面向对象的脚本语言,而Java语言也是跨平台的、面向对象的语言,只不过Java是编译语言,是需要编译成字节码文件才能运行的;JavaScript是脚本语言,不需要编译,由浏览器直接解析并执行。JavaScript是用来控制网页行为的,它能使......
  • WPF Customcontrol with ellipse and textblock display randomly in canvas of mainw
    //usercontrol.xaml<UserControlx:Class="WpfApp381.ElpImgTbk"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"......
  • dotnet framework 4.7.2 webapi 配置的swagger添加登录验证
    项目是.netframework4.7.2加webapi写的接口,使用Swashbuckle包添加的swagger支持 App_Start\SwaggerConfig.cs中加c.CustomAsset("index",thisAssembly,"WebApi.Jwt.SwaggerExtensions.index.html",false);1usingSystem.Web.Http;2usingWebActivato......