爬虫 总是要学一些 js 基础 以及 html 基础的 要不 一些 基本 反爬手段 都 解决不了 比如 :ajax 请求 js加密 等等 。所以 一些基本的 js 知识还是很有必要的 ,那么 就在这20 天 我会 跟大家一起分享 js 的知识 当然 html 知识也是比较重要的 这个 比较简单 网上教程也 多的很 。
1.什么是js
Js是一门 基于对象的, 由事件驱动的, 解释性, 脚本语言
2.引入方式
内联 :写在标签中`不推荐使用
内部:`会优先执行 这个写在 html 文档中的 任意位置 但是 有些 地方 是不推荐的 建议写在 body 的最后面
外部引入:`不可以在加入任何js 代码 不会执行
3.变量
3.1.变量的定义
说明 | 含义 |
关键字 | var |
声明 | var 变量名 |
赋值 | var 变量名 = 值 |
多值赋值 | var 变量名 = 值1 = 值2 …… 也就是说具有传递性; |
数据类型 | 字符串""、数字 、列表、对象 |
命名规范1 | 不可以使用数字开头 |
命名规范2 | 除了$ _不可以使用其他特殊字符 |
命名规范3 | 不能使用关键字和保留字作为变量名 |
命名规范4 | 变量命名不能重复 |
3.2.Js的简单鼠标事件
函数 | 事件 |
onclick | 点击事件 |
onmousedown | 鼠标按下事件 |
onmouseup | 鼠标抬起事件 |
onmousemove | 鼠标移动 |
onmouseover/onmouseout | 鼠标移入移出事件 |
onmouseenter/onmouseleave | 鼠标移入移出事件 |
ondblclick | 鼠标双击事件 |
oncontextmenu | 鼠标右击事件 |
console.log | 控制台打印输出 |
3.3.操作元素内容的方法
有这样 一段 html 代码 以供下面的 演示 提供 支持
<html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Documenttitle> <style> .box { width: 300px; height: 300px; border: 1px solid; text-overflow: ellipsis; }style>head><body> <div class="box" id="box">这是一个 divdiv> <input type="text" name="" id="pwd"> <input type="submit" value="提交" id="sub">body>html>
实现 这样的一个效果
首先 引入
<body> <div class="box" id="box">div> <input type="text" name="" id="pwd"> <input type="submit" value="提交" id="sub"> <script> // 内部引入script> body>
3.3.0 选择元素 以及 添加 事件
<script> var box = document.getElementById("box"); var pwd = document.getElementById("pwd"); var sub = document.getElementById("sub"); // 通过 给元素 设置 id 的方式 进行选中 document 文档 也就是 html getElementById()方法通过 元素 id 进行选中 sub.onclick = function() { // 给 变量 为 sub 所 绑定的 元素 设置 点击事件 }script>
3.3.1 操作普通双标签
均有两个作用 : 一个获取 一个设置
a)innerText
第一个 功能 获取 元素.innerText
console.log(box.innerText);
第二个 功能 设置 元素.innerText = "值"
console.log(box.innerText="这是修改的样子");
注意点:内容中有html 标签的话 是不会被解析的
console.log(box.innerText="这是修改的样子");
b)innerHTML
第一个 功能 获取 元素.innerHTML
第二个 功能 设置 元素.innerHTML = "值"
与上面的 innerText 使用方法 以及效果都是一样的
这里有一点不同就是可以添加 元素 内容中有html 标签的话 可以解析的
console.log(box.innerHTML="这是修改的样子");
3.3.2 操作表单
第一个 功能 获取 元素.value
我们需要获取一下 输入框中的数据 怎么办
console.log(pwd.value);
第二个 功能 设置 元素.innerHTML = "值"
console.log(pwd.value="这是表单修改");
3.3.3 操作类名方法
第一个 功能 获取 元素.className
第二个 功能 设置 元素.className = “指定的类名”
操作方法跟上面 几乎 都是 一样的
这里就不一一 举例
3.3.4 操作元素样式的方法
第一个 功能 获取 元素.style.样式属性名 这里需要注意 只能是 获取 内联元素 的 属性
setting.onclick = function() { mask.style.display;}
第二个 功能 设置 元素.style.样式属性名 = “属性值”
setting.onclick = function() { mask.style.display="block";}
![53f0a64cd6093b76ccd2ba4489721c7b.png](https://i-blog.csdnimg.cn/blog_migrate/f4389bfadefb4a34223a40121632aa5d.png)
![95093926c825e9017bd499f15bf6f552.gif](https://i-blog.csdnimg.cn/blog_migrate/a7e058aac66be55957c58906174b513f.gif)
长按加入这个大家庭
回复‘导航’查看功能
![0c217ff7c1fbd3544fe099d95ad715ac.png](https://i-blog.csdnimg.cn/blog_migrate/517661c939c98edae284a52b873fc662.jpeg)
咱也不知道为啥点了再看的都变好看了
![75a0bddd72274a992655d9dc2139b1c1.png](https://i-blog.csdnimg.cn/blog_migrate/d44be0f639edde34eb66d4c8694df5b3.png)