前端入门笔记07 —— js应用

news2024/11/20 13:17:47

DOM基础

document object model

在这里插入图片描述

基本操作

  • document成员函数传入 id class tagName等内容获取DOM节点
  • css选择去查询节点
  • 获取的DOM对象访问DOM对象的成员
let domResult;
domResult = document.getElementsByTagName('li');
//返回一个类数组对象 NodeList 获取所有li元素
domResult = document.querySelector('li');
//CSS选择器 查询第一个标签名为p的节点
domResult = document.querySelectorAll('li');
//所有

domResult = document.querySelectorAll("main > *")
//匹配<main>中所有子元素 不包括子元素的子元素
domResult = document.querySelectorAll("main *")
//匹配<main>中所有子孙元素 
domResult = document.querySelectorAll("main a")
//匹配<main>中所有a元素 
domResult = document.querySelectorAll("img+h3")
//匹配跟在img后方的h3元素
domResult = document.querySelectorAll("[date-index]")
//匹配跟在data-index属性元素
domResult = document.querySelectorAll("[date-index]='1'")
//匹配跟在data-index属性=1的元素
let ulDomResult = document.getElementsByTagName('ul')[0];
//获取对象的其中一个节点
console.log(ulDomResult.parentNode);//父节点 如果ul被main包围,就输出main 

//改
let titleDemo = document.getElementById('sth');
titleDemo.innerHTML = "<strong> a test </strong>" ;//改样式和内容
titleDemo.innerContent = "<strong> a test </strong>"; //只改内容
titleDemo.style = 'color : blue';
titleDemo.setAttribute("an_attribute", "value");
console.log(titleDemo.getAttribute(an_attribute));

//增
let newDome = document.createElement('p');
let da = Date();
newDome.textContent = "当前时间为" + [ da.getHours(), da.getMinutes(),  da.getSeconds()].join(':');
document.body.appendChild(newDome);

//删
let toRemove = document.getElementsByTagName('li')[0];
console.log(toRemove);
toRemove.remove();

DOM事件

  1. 鼠标
// 1. 用DOM对象onclikc成员赋值为函数监听事件
let clickDemo = document.getElementById('an id');
clickDemo.onclick = function(event)
{//浏览器帮你执行这个函数
    alert('点击响应事件');
    console.log('li响应click事件');
};//onclick的事件绑定只能绑定一个函数,后续的函数会覆盖之前的函数
  1. 触摸
  2. 键盘
  3. 媒体
  4. 剪切板
  5. 资源

事件传播在这里插入图片描述

除了DOM成员函数,还可以用addEventListener

let imgDemo = document.getElementsByTagName("img")[0];
imgDemo.addEventListener("click", function(event)
    {
        console.log("addEventListerner 产生的事件触发");
    }
)//可以重复绑定多个相同的事件,会按顺序运行函数
//但是onclick的事件绑定只能绑定一个函数,后续的函数会覆盖之前的函数

onclick是0级
addEventListener是2级

BOM

browser object model
控制浏览器行为

  1. location
  2. navigator
  3. screen
  4. alter prompt confirm
  5. localStorage

alter

window.alter('welcome');
//浏览器出现一个弹窗

prompt

let proptResult = window.prompt("请输入你的名字" , "Your name");
console.log(proptResult);
//弹出一个对话框,可编辑Your name的部分

confirm

let confirmResult = window.confirm("是否要跳转百度?");
if(confirmResult)
{
	window.location.herf = "http://www.baidu.com";
}

navigator

let info = window.navigator.userAgent;
let infoDemo = document.createElement('footer');
infoDemo.textContent = "浏览器信息为:" + info;
document.body.appendChild(infoDemo);

location的属性

loaction.herf //当前url
location.protocal //协议
location.host //域名
location.pathname //路径
location.search //参数
location.hash //哈希值

其他API

主要讲AJAX
异步的Js和XML
js请求服务器数据,数据更新到网页

  1. XMLHttpRequest
  2. Fetch
let httpReq = new XMLHttpRequest();
if(httpReq)//先判断
{
    alter("浏览器不支持XMLHttpRequest");
}
else
{
    httpReq.onreadystatechange = function()
    {
        if(httpReq.readyState === httpReq.DONE)
        {
            if(httpReq.status === 200)
            {
                console.log(httpReq.responseText);
            }
            else
            {
                console.log("some problems occures with the request.")
            }
        }
        else
        {
            console.log('readyStat change:', httpReq.readyState);
        }

    };
    httpReq.open(
        'GET',
        'HTTPS'
    );
    httpReq.send();
}
//fetch
fetch("https...",)
    .then(function(response)
        {
            return response.json();
        }
    )
    .then(function(myJson)
        {
            console.log(myJson);
        }
    )

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/156772.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Electron对在线网站做数据交互方案,实现在线网站判断Electron调用自定义接口通讯

(防盗镇楼)本文地址:https://blog.csdn.net/cbaili/article/details/128651549 前言 最近在撸VUE,想要实现一份代码既能构建Web又能构建Electron应用 并且能够判断环境是浏览器还是Electron,随后在Electron中做一些特定的事情 以往的Electron通信依靠IPC通信完成,但是发布到…

2023年,“新一代”固定资产管理平台——支持低代码平台

固定资产是各企业和工厂的主要生产要素&#xff0c;占企业整体资金比例较重&#xff0c;而且随着企业的发展&#xff0c;实物资产的数量和员工日益增多&#xff0c;固定资产的重要性日益凸显。如何高效管理这些实物资产也成了企业管理者经常考虑的问题。单纯依靠人工表格管理固…

python(一) 字符串基本用法

python&#xff08;一&#xff09; 字符串基本用法 目录1.环境安装2. 变量介绍3.变量的命名规则4. 字符串 String 基础4.1 title() 修改单词的大小写 title()4.2 upper() : 将字符串全部改为大写4.3 lower(): 将字符串全部改为小写4.4 字符串的拼接 合并字符串5. 使用制表符或者…

关于抖音年前活动的需求与思考

目录 一、前言 二、需求1 1、后端需求 2、前端需求 三、领取抽卡次数需求 1、后端需求 2、前端需求 四、必得现金红包需求 五、送重复卡需求 1、后端需求 2、前端需求 六、幸运抽奖需求 1、抽奖功能 1.1、首次(或多次)3张节气卡 抽奖 1.2、非首次或多次后5张节气…

【阶段三】Python机器学习14篇:机器学习项目实战:支持向量机分类模型

本篇的思维导图: 项目实战(支持向量机分类模型) 项目背景 目前各大新闻网站很多,网站上的消息也是各式各样,本项目通过建立支持向量机分类模型进行新闻文本分类。 数据收集 所需要的数据文件如下百度云盘链接: 链接:https://pan.baidu.com/s/1Zj-uTt_wdRcmDt3aumZ…

Java加解密(七)数字签名

目录数字签名1 定义2 数字签名特点3 应用场景4 JDK支持的信息摘要算法5 Bouncy Castle 支持的信息摘要算法6 算法调用示例数字签名 1 定义 数字签名&#xff08;digital signature&#xff09;是一种电子签名&#xff0c;也可以表示为一种数学算法&#xff0c;通常用于验证消…

【强训】Day06

努力经营当下&#xff0c;直至未来明朗&#xff01; 文章目录一、选择二、编程1. 不要二2. 把字符串转换成整数答案1. 选择2. 编程普通小孩也要热爱生活&#xff01; 一、选择 关于抽象类与最终类&#xff0c;下列说法错误的是&#xff1f; A 抽象类能被继承&#xff0c;最终…

C语言零基础项目:六边形扫雷寻宝模式,详细思路+源码分享

程序简介六边形扫雷&#xff0c;寻宝模式&#xff0c;稍稍介绍一下。他也是要把所有安全的地方点出来。他没有扫雷模式的消零算法。每一个安全的点都需要单独挖出来&#xff0c;一次显示一个格子。添加了生命值的概念&#xff0c;也就是说存在一定的容错。显示的数字有别于扫雷…

亚马逊云科技 2022 re:Invent 观察 | 天下武功,唯快不破

引子“天下武功&#xff0c;无坚不摧&#xff0c;唯快不破”&#xff0c;相信大家对星爷电影《功夫》中的这句话耳熟能详。实际上&#xff0c;“天下武功&#xff0c;唯快不破”最早出自古龙先生的著名武侠小说《小李飞刀》&#xff1a;“小李飞刀&#xff0c;例无虚发&#xf…

LeetCode(String) 2325. Decode the Message

1.问题 You are given the strings key and message, which represent a cipher key and a secret message, respectively. The steps to decode message are as follows: Use the first appearance of all 26 lowercase English letters in key as the order of the substit…

React生命周期详解

React 类组件生命周期 React 有两个重要阶段 render 阶段和 commit 阶段&#xff0c;React 在调和( render )阶段会深度遍历 React fiber 树&#xff0c;目的就是发现不同( diff )&#xff0c;不同的地方就是接下来需要更新的地方&#xff0c;对于变化的组件&#xff0c;就会执…

Linux杂谈之java命令

一 java &#xff08;1&#xff09;基本解读 ① JAVA8 官方命令行参数 linux版的java 重点关注&#xff1a; java、javac、jar、keytool 这三个参数学习方式&#xff1a; 通过man java和官方文档快速学习 如何在官网搜索 java的命令行参数用法 ② 语法格式 ③ 描述 1)…

Java开发为何深入人心 ?我来带你解开 Spring、IoC、DI 的秘密~

目录 一、什么是Spring? 1.1、什么是容器&#xff1f; 1.2、IoC是什么&#xff1f; 1.3、IoC带来了什么好处&#xff1f; 二、什么是DI&#xff1f; 2.1、IoC和DI有什么关系&#xff1f; 一、什么是Spring? 一句概括&#xff0c;Spring 是包含了众多⼯具⽅法的 IoC 容器…

RHCE第七天之防火墙详解

文章目录一、 基本概念二、iptables三、firewalld四、实验练习一、 基本概念 什么是防火墙&#xff1f;路由策略和策略路由/ipsec vpn gre hdlc ppp 硬件 iDS 在计算中&#xff0c;防火墙是基于预定安全规则来监视和控制传入和传出网络流量的网络安全系统。该计算机流入流出的…

React基础梳理,万字总结,总能帮到你~

第1章&#xff1a;React入门 1.1.React简介 1.英文官网: reactjs.org/2.中文官网: react.docschina.org/3.用于动态构建用户界面的 JavaScript 库(只关注于视图)4.Facebook开源 React的特点 1.声明式编码2.组件化编码3.React Native 编写原生应用4.高效&#xff08;优秀的D…

CodeCraft-22 and Codeforces Round #795 (Div. 2)

A. Beat The Odds 题目链接&#xff1a; Problem - A - Codeforces 样例输入&#xff1a; 2 5 2 4 3 6 8 6 3 5 9 7 1 3样例输出&#xff1a; 1 0题意&#xff1a;给定一个长度为n的数组&#xff0c;我们可以对这个数组进行操作&#xff0c;每次操作可以删除一个数&#xff…

计算机防勒索病毒之系统主机加固篇

​ 近年来&#xff0c;计算机以及互联网应用在中国得到普及和发展&#xff0c;已经深入到社会每个角落&#xff0c;政府&#xff0c;经济&#xff0c;军事&#xff0c;社会&#xff0c;文化和人们生活等各方面都越来越依赖于计算机和网络&#xff0c;电子政务&#xff0c;无纸办…

如何把WPS转换成PDF格式?新手也能轻松学会的方法

WPS文件是我们工作中必不可少的&#xff0c;它可以编辑文本、记录数据、展示文档等等&#xff0c;都能更好的帮我们处理工作&#xff0c;不过有的时候WPS文件在不同设备上打开可能会出现格式错误或者乱码等一系列的问题&#xff0c;这时候我们就可以将WPS文件转换成PDF文件&…

[Leetcode] 传递信息(有向图路径)

小朋友 A 在和 ta 的小伙伴们玩传信息游戏&#xff0c;游戏规则如下&#xff1a;有 n 名玩家&#xff0c;所有玩家编号分别为 0 &#xff5e; n-1&#xff0c;其中小朋友 A 的编号为 0每个玩家都有固定的若干个可传信息的其他玩家&#xff08;也可能没有&#xff09;。传信息的…

Python数据分析之Pandas

文章目录前言一、输入输出1.1 txt1.2 csv1.3 excel1.4 json1.5 sql1.6 html1.7 latex二、数据结构2.1 一维数据 Series2.2 二维数据 DataFrame2.2.1 数据查看2.2.2 数据遍历2.2.3 数据选取2.2.4 数据处理2.2.5 数据统计2.3 索引对象 Index2.4 时间戳 TimeStamp三、窗口函数3.1 …