diff --git "a/31\345\220\264\346\254\243\347\207\225/\344\275\234\344\270\232/DOM2.md" "b/31\345\220\264\346\254\243\347\207\225/\344\275\234\344\270\232/DOM2.md"
new file mode 100644
index 0000000000000000000000000000000000000000..c91b615fa0ee4fbef9687064e4ff32f0c1e8f93a
--- /dev/null
+++ "b/31\345\220\264\346\254\243\347\207\225/\344\275\234\344\270\232/DOM2.md"
@@ -0,0 +1,98 @@
+```
+
+
+
+
+```
\ No newline at end of file
diff --git "a/31\345\220\264\346\254\243\347\207\225/\344\275\234\344\270\232/JQuery.md" "b/31\345\220\264\346\254\243\347\207\225/\344\275\234\344\270\232/JQuery.md"
new file mode 100644
index 0000000000000000000000000000000000000000..71877cc2957ab07a94eecc5898d8a3718cf43165
--- /dev/null
+++ "b/31\345\220\264\346\254\243\347\207\225/\344\275\234\344\270\232/JQuery.md"
@@ -0,0 +1,34 @@
+```
+
+
+
+
+ | 第一行 | 第一行 |
+
+
+ | 第二行 | 第二行 |
+
+
+ | 第三行 | 第三行 |
+
+
+ | 第四行 | 第四行 |
+
+
+ | 第五行 | 第五行 |
+
+
+
+
+
+```
\ No newline at end of file
diff --git "a/31\345\220\264\346\254\243\347\207\225/\344\275\234\344\270\232/\344\272\213\344\273\266.md" "b/31\345\220\264\346\254\243\347\207\225/\344\275\234\344\270\232/\344\272\213\344\273\266.md"
new file mode 100644
index 0000000000000000000000000000000000000000..014aeccca5216ea2536117905c8f304d19d085bb
--- /dev/null
+++ "b/31\345\220\264\346\254\243\347\207\225/\344\275\234\344\270\232/\344\272\213\344\273\266.md"
@@ -0,0 +1,33 @@
+```
+
+
+
+
+
+
+```
\ No newline at end of file
diff --git "a/31\345\220\264\346\254\243\347\207\225/\344\275\234\344\270\232/\344\272\213\344\273\2662.md" "b/31\345\220\264\346\254\243\347\207\225/\344\275\234\344\270\232/\344\272\213\344\273\2662.md"
new file mode 100644
index 0000000000000000000000000000000000000000..e3aec5c4f0b4288ef1dd824cce4310effc2f4e08
--- /dev/null
+++ "b/31\345\220\264\346\254\243\347\207\225/\344\275\234\344\270\232/\344\272\213\344\273\2662.md"
@@ -0,0 +1,26 @@
+```
+
+
+ apple
+ banana
+ orange
+
+
+
+
+```
\ No newline at end of file
diff --git "a/31\345\220\264\346\254\243\347\207\225/\347\254\224\350\256\260/2022-11-21\350\216\267\345\217\226\345\261\236\346\200\247&\346\223\215\344\275\234\346\240\267\345\274\217.md" "b/31\345\220\264\346\254\243\347\207\225/\347\254\224\350\256\260/2022-11-21\350\216\267\345\217\226\345\261\236\346\200\247&\346\223\215\344\275\234\346\240\267\345\274\217.md"
new file mode 100644
index 0000000000000000000000000000000000000000..4f3229410df73bb69940bfe8422fa8213806a4ed
--- /dev/null
+++ "b/31\345\220\264\346\254\243\347\207\225/\347\254\224\350\256\260/2022-11-21\350\216\267\345\217\226\345\261\236\346\200\247&\346\223\215\344\275\234\346\240\267\345\274\217.md"
@@ -0,0 +1,145 @@
+### 属性获取与设置 (getAttribute、setAttribute)
+
+#### 1,获取属性 **div.getAttribute('class')**
+
+#### 2,更改属性 **div.setAttribute('class','tinctred')**
+
+```
+
+
+
+
+
+
+
+
+
+```
+
+### 四,获取input的值(输入框,单选框多选框,下拉框)
+
+#### 1,输入框
+
+```
+
+
+
+
+
+
+```
+
+#### 2,单选框
+
+```
+
+
+
+
+
+
+```
+
+#### 3,多选框
+
+```
+
+
+
+
+
+
+
+
+
+
+```
+
+#### 4,下拉框
+
+```
+
+
+
+ 文字颜色:
+
+ 背景颜色:
+
+
+
+ JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。
+ 它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,
+ 最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。
+
+
+
+```
\ No newline at end of file
diff --git "a/31\345\220\264\346\254\243\347\207\225/\347\254\224\350\256\260/2022-11-23\344\272\213\344\273\266\346\265\201.md" "b/31\345\220\264\346\254\243\347\207\225/\347\254\224\350\256\260/2022-11-23\344\272\213\344\273\266\346\265\201.md"
new file mode 100644
index 0000000000000000000000000000000000000000..e5669694d20c1833d6ad8828e0e7ab7eda3b5436
--- /dev/null
+++ "b/31\345\220\264\346\254\243\347\207\225/\347\254\224\350\256\260/2022-11-23\344\272\213\344\273\266\346\265\201.md"
@@ -0,0 +1,124 @@
+### 一、事件流
+
+- 一个事件的生命周期有三个阶段:捕捉,目标,冒泡。
+
+### **二、事件冒泡**
+
+- 事件按照从最特定的事件目标到最不特定的事件目标(document对象)的顺序触发。也就是说,事件会从最内层的元素开始发生,一直向上传播,直到document对象。
+
+- 冒泡阶段(小到大)
+
+ 冒泡阶段的顺序与捕捉阶段的顺序刚好相反==div->body->html->document==
+
+#### 1,阻止事件冒泡
+
+- **focus,blur,change,submit,reset,select 等事件不冒泡**
+
+```
+event.cancelBubble = true; //ie独有
+封装取消冒泡的函数:stopBubble(event)
+event.stopPropagation();//1.阻止事件冒泡,但不会阻止默认行为,不支持ie9以下
+return false;//2.阻止事件冒泡,也阻止了默认行为
+event.preventDefault();//3.阻止默认行为,不阻止事件冒泡(可阻止鼠标右击出现菜单这个默认事件)
+```
+
+### **三、事件捕获**
+
+- 事件从最不精确的对象(document 对象)开始触发,然后到最精确(也可以在窗口级别捕获事件,不过必须由开发人员特别指定),与事件冒泡相反,事件会从最外层开始发生,直到最具体的元素。
+
+#### 1.事件捕捉流(==由外到内==)
+
+- 当某个事件被触发时,浏览器会找到涉及的元素。涉及的元素称为目标。浏览器会找到body元素和目标之间所有元素并分别检查它们,看其有没有事件绑定。浏览器会先触发外层事件处理器,最后才会轮到目标处理器。==document->html->body->div==
+
+- 当捕捉阶段完成后,浏览器会触发目标元素上任何已添加的事件类型监听器,这里的先后顺序是按照事件定义的先后顺序来的
+
+### 四、事件委托
+
+- 把原本需要绑定在子元素上的事件(onclick、onkeydown 等)委托给它的父元素,让父元素来监听子元素的冒泡事件,并在子元素发生事件冒泡时找到这个子元素
+- 优点:性能高 灵活
+
+#### 1,好处:
+
+- 利用事件冒泡实现事件委托
+
+#### 2,缺点:
+
+- 要避免事件冒泡
+
+### 五、阻止默认行为
+
+- 默认事件:表单提交,a标签跳转,右键菜单等
+- 事件委托是利用事件冒泡原理,让节点的父级代为执行事件。而不需要遍历元素的子节点,大大减少dom操作。
+
+#### 1,传统事件绑定 (兼容性好,但是不能绑定多个同类型事件)
+
+```
+ //传统事件绑定1,耦合度比较高
+ function show(num) {
+ console.log('I am Div'+num);
+ }
+ var btn1 = document.getElementById('btn1');
+ btn1.onclick = function () {
+ console.log('我是传统事件绑定2');
+ }
+```
+
+#### 2,现代事件绑定 (兼容性较差,绑定多个同类型事件时会依次执行)
+
+##### 2.1 DOM事件的绑定 addEventListener
+
+- addEventListener(事件,处理函数,布尔值):支持ie9及以上的浏览器和其他浏览器
+
+```
+var fn = fuction(){
+ console.log(123)
+}
+addEventListener('click',fn)
+```
+
+##### 2.2 IE事件绑定 attachEvent
+
+- attachEvent(事件,fn,布尔值):支持IE10及以下的浏览器
+
+```
+var fn = fuction(){
+ console.log(123)
+}
+attachEvent('onclick',fn)
+```
+
+##### 2.3 传统事件取消
+
+```
+btn.onclick = null;
+//a标签跳转
+return false;
+//右键菜单
+preventDefault()
+```
+
+##### 2.4 现代事件取消
+
+```
+//DOM
+btn.removeEventListener('click',fn);
+//IE
+btn.detachEvent('onclick',fn);
+```
+
+### 六,事件对象 (ie: window.event)
+
+```
+ e.onclick = () => {
+ //事件对象:ie:window.event 谷歌:event
+ var event = event || window.event;
+ //事件源对象:event.target:火狐 event.srcElement:ie 谷歌两个都可以
+ var target = event.target || event.srcElement;
+ }
+```
+
+#### 3,绑定事件的三种方法
+
+- ele.onXXX = function(event){};常用绑定
+- obj.addEventListener(type,fn,bool);DOM事件的绑定
+- obj.attachEvent('on'+type,fn,bool); IE事件绑定
\ No newline at end of file
diff --git "a/31\345\220\264\346\254\243\347\207\225/\347\254\224\350\256\260/2022-11-24\344\272\213\344\273\266.md" "b/31\345\220\264\346\254\243\347\207\225/\347\254\224\350\256\260/2022-11-24\344\272\213\344\273\266.md"
new file mode 100644
index 0000000000000000000000000000000000000000..32e812b8a771a728d418628eefeccb2d822d1a16
--- /dev/null
+++ "b/31\345\220\264\346\254\243\347\207\225/\347\254\224\350\256\260/2022-11-24\344\272\213\344\273\266.md"
@@ -0,0 +1,110 @@
+### 一,事件
+
+- 事件通常与函数配合使用,这样就可以通过发生的事件来驱动函数执行。
+- 注意:事件名称大小写敏感。若是事件监听方式,则在事件名的前面取消on
+
+#### 1、点击事件的几种方式
+
+- 通过方法响应点击事件 onclick="函数名()"
+
+```
+点击
+
+function fn(){
+ alert(111)
+}
+```
+
+- 点击事件
+
+```
+点击
+var aDiv=document.getElementById("demo")
+aDiv.onclick=function(){
+ alert(111)
+}
+```
+
+- 当一个节点中有两个事件时
+
+```
+
+//它会执行第二个事件,第二个事件会覆盖第一个事件
+ function one(){
+ console.log(11)
+ }
+ btn.onclick=()=>{
+ console.log(22)
+ }
+ //它会输出第二种,第二种优先级比第一种高
+
+
+
+
+
+```
+
+### 二,常用事件
+
+#### 1.加载事件
+
+**onload:一张页面或一幅图像完成加载**
+
+#### 2,鼠标事件
+
+- 鼠标按下时,通过事件对象 event中的属性 button 或 which 可以获取鼠标按键的编号e.button 事件对象中的 button属性可以获取鼠标按键的编号e.which 也可以获取鼠标的按键编号 0 左键 1滚轮 2右键
+- DOM3规定:click事件只能监听左键,只能通过mousedown和mouseup来判断鼠标键
+
+| 鼠标事件 | 触发条件 |
+| -------------- | ---------------- |
+| ==onclick== | 鼠标点击左键触发 |
+| oncontextmenu | 鼠标点击右键触发 |
+| ==ondblclick== | 鼠标双击触发 |
+| onmouseover | 鼠标经过触发 |
+| onmouseout | 鼠标离开触发 |
+| ==onfocus== | 获得鼠标焦点触发 |
+| ==onblur== | 失去鼠标焦点触发 |
+| onmousemove | 鼠标移动触发 |
+| onmouseup | 鼠标弹起触发 |
+| onmousedown | 鼠标按下触发 |
+
+#### 3, [表单](https://gitee.com/link?target=https%3A%2F%2Fso.csdn.net%2Fso%2Fsearch%3Fq%3D%E8%A1%A8%E5%8D%95%26spm%3D1001.2101.3001.7020)事件
+
+| 表单事件 | 触发条件 |
+| ------------ | ---------------------- |
+| onfocus | 表单获得焦点触发 |
+| onblur | 表单失去焦点触发 |
+| oninput | 表单每次输入触发 |
+| ==onchange== | 表单内容发生改变时触发 |
+| ==onselect== | 表单文本被选取时触发 |
+| ==onreset== | 表单重置时触发 |
+| ==onsubmit== | 表单提交时触发 |
+
+#### 4, 事件对象
+
+| **事件对象属性方法** | **说明** |
+| -------------------- | ----------------------------------------- |
+| e.target | 返回触发事件的对象 |
+| e.type | 返回事件的类型 比如click mouseover 不带on |
+| e.preventDefault() | 该方法阻止默认事件 比如禁止页面右键 |
+| e.stopPropagation() | 阻止事件冒泡 |
+
+#### 5.键盘事件
+
+| 键盘事件 | 触发条件 |
+| ---------- | ------------------------ |
+| onkeydown | 某个键盘按键被按下 |
+| onkeyup | 某个键盘按键被松开 |
+| onkeypress | 某个键盘按键被按下并松开 |
+
+#### 6、DOM2现代事件绑定
+
+```
+
+
+```
\ No newline at end of file
diff --git "a/31\345\220\264\346\254\243\347\207\225/\347\254\224\350\256\260/2022-11-27JQuery\345\210\235\350\257\206.md" "b/31\345\220\264\346\254\243\347\207\225/\347\254\224\350\256\260/2022-11-27JQuery\345\210\235\350\257\206.md"
new file mode 100644
index 0000000000000000000000000000000000000000..3eca474ba08e411a9e74dbfbba15e363727f8be4
--- /dev/null
+++ "b/31\345\220\264\346\254\243\347\207\225/\347\254\224\350\256\260/2022-11-27JQuery\345\210\235\350\257\206.md"
@@ -0,0 +1,133 @@
+### 一,JQuery
+
+- 获取文档中的节点对象是很频繁的一个操作,在jQuery中提供了简便的方式供我们查找|定位元素,选择器跟CSS选择器几乎完全一样
+
+#### 1,分类
+
+##### 1,基础选择器
+
+- 基本选择器 ,层次选择器 ,属性选择器
+
+##### 2,伪类选择器
+
+- “位置”伪类选择器 ,“子元素”伪类选择器 ,“可见性”伪类选择器
+- “内容”伪类选择器 ,“表单”伪类选择器 ,“表单属性”伪类选择器
+
+#### 2,优点
+
+- 代码简洁 ,完美兼容 ,轻量级 ,强大的选择器 , 完善的AJAX ,丰富的插件
+
+#### 3,DOM对象转成Jquery对象
+
+```
+var div = document.getElementsByTagName('div')[0];
+console.log($(div));
+```
+
+#### 4,Jquery对象转DOM对象
+
+```
+var divs = $('div')[0]
+console.log(divs);
+```
+
+### 二,基础选择器
+
+#### 1,标签选择器
+
+```
+$("标签名")
+```
+
+#### 2,基本选择器
+
+| 选择器 | 名称 | 举例 |
+| -------------- | ----------------------------- | ------------------------------------------------------ |
+| id选择器 | #id | $('#testDiv'):选择id为testDiv的元素 |
+| 元素名称选择器 | element | $('div'):选择所有div元素 |
+| 类选择器 | .class | $('.blue'):选择所有class=blue的的元素 |
+| 选择所有元素 | * | $('*'):选择页面所有元素 |
+| 群组选择器 | selector1,selector2,selector3 | $('#testDiv, span, blue'):同时选择多个选择器匹配的元素 |
+
+#### 3, 层次选择器
+
+| 选择器 | 名称 | 举例 |
+| ---------- | ------------------- | -------------------------------------------------- |
+| 后代选择器 | ancestor descendant | $('#parent div'):选择id为parent的元素的所有div元素 |
+| 子代选择器 | parent > child | $('#parent>div'):选择id为parent的直接div子元素 |
+| 相邻选择器 | prev + next | $('.blue + img'):选择css类为blue的下一个img元素 |
+| 同辈选择器 | prev ~sibling | $('.blue ~ img'):选择css类为blue的之后的img元素 |
+
+#### 4,属性选择器
+
+| **选择器** | 说明 |
+| ------------------ | ------------------------------------------------------------ |
+| E[attr] | 选择元素E,其中E元素必须带有attr属性 |
+| E[attr = “value”] | 选择元素E,其中E元素的attr属性取值是value |
+| E[attr!= “value”] | 选择元素E,其中E元素的attr属性取值不是value |
+| E[attr ^= “value”] | 选择元素E,其中E元素的attr属性取值是以“value”开头的任何字符 |
+| E[attr $=“value”] | 选择元素E,其中E元素的attr属性取值是以“value”结尾的任何字符 |
+| E[attr *= “value”] | 选择元素E,其中E元素的attr属性取值是包含“value”的任何字符 |
+| E[attr\|="value"] | 选择元素E,其中E元素的attr属性取值等于“value”或者以“value”开头 |
+| E[attr ~= “value”] | 选择元素E,其中E元素的attr属性取值等于“value”或者包含“value” |
+
+#### 5,筛选选择器
+
+| 名称 | 用法 | 描述 |
+| ------------------ | -------------------------- | -------------------------------- |
+| children(selector) | $(“ul”).children(“li”) | 相当于$(“ul>li”),子类选择器 |
+| find(selector) | $(“ul”).find(“li”) | 相当于$(“ul li”),后代选择器 |
+| siblings(selector) | $(“#first”).siblings(“li”) | 查找兄弟节点,不包括自己本身 |
+| parent() | $(“#first”).parent() | 查找父亲 |
+| eq(index) | $(“li”).eq(2) | 相当于$(“li:eq(2)”),index从0开始 |
+| next() | $(“li”).next() | 找下一个兄弟 |
+| prev() | $(“li”).prev() | 找上一个兄弟 |
+
+### 三,伪类选择器
+
+- 以英文冒号(:)开头
+
+#### 1,分类
+
+1. “位置”伪类选择器
+2. “子元素”伪类选择器
+3. “可见性”伪类选择器
+4. “内容”伪类选择器
+5. “表单”伪类选择器
+6. “表单属性”伪类选择器
+
+#### 2,表单伪类选择器
+
+| Forms | 名称 | 举例 |
+| -------------- | --------- | ------------------------------------------------------------ |
+| 表单选择器 | :input | 查找所有input元素: $(':input'); 注意:会匹配所有的input, textarea,select和button元素 |
+| 文本框选择器 | :text | 查找所有的文本框: $(':text') |
+| 密码框选择器 | :password | 查找所有密码框 |
+| 单选按钮选择器 | :radio | 查找所有单选按钮 |
+| 复选框选择器 | :checkbox | 查找所有复选框 |
+| 提交按钮选择器 | :submit | 查找所有提交按钮 |
+| 图像域选择器 | :image | 查找所有图像域 |
+| 重置按钮选择器 | :reset | 查找所有重置按钮 |
+| 按钮选择器 | :button | 查找所有按钮 |
+| 文本域选择器 | :file | 查找所有文本域 |
+
+#### 3, 表单属性伪类选择器
+
+- 根据表单元素的属性来选取的一种伪类选择器
+
+| 选择器 | 说明 |
+| ---------- | ------------------------------------------------------ |
+| :checked | 选取所有被选中的表单元素,一般是**单选框**或**复选框** |
+| :selected | 选取被选中的表单元素的选项,一般是**下拉列表** |
+| :enabled | 选取所有可用的表单元素 |
+| :disabled | 选取所有不可用的表单元素 |
+| :read-only | 选取所有的表单元素除了只读 |
+| :focus | 选取所有获得焦点的表单元素 |
+
+#### 4,过滤选择器
+
+| 名称 | 用法 | 描述 |
+| ----------- | --------------------------------- | --------------------------------------------------------- |
+| :eq(index) | $(“li:eq(2)”).css(“color”, ”red”) | 获取到的li元素中,选择索引号为2的元素,索引号index从0开始 |
+| :odd | $(“li:odd”).css(“color”, ”red”) | 获取到的li元素中,选择索引号为奇数的元素 |
+| :even | $(“li:even”).css(“color”, ”red”) | 获取到的li元素中,选择索引号为偶数的元素 |
\ No newline at end of file