From f90df0ed992f1617506313d695bbdd20b0488183 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=99=88=E4=BD=B3=E7=82=9C?= <626104790@qq.com>
Date: Mon, 11 Dec 2023 22:15:39 +0800
Subject: [PATCH 1/2] =?UTF-8?q?=E4=BD=9C=E4=B8=9A1209?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
...34\344\270\232\347\254\224\350\256\260.md" | 143 ++++++++++++++++++
1 file changed, 143 insertions(+)
create mode 100644 "26\351\231\210\344\275\263\347\202\234/day1209\344\275\234\344\270\232\347\254\224\350\256\260.md"
diff --git "a/26\351\231\210\344\275\263\347\202\234/day1209\344\275\234\344\270\232\347\254\224\350\256\260.md" "b/26\351\231\210\344\275\263\347\202\234/day1209\344\275\234\344\270\232\347\254\224\350\256\260.md"
new file mode 100644
index 0000000..6c89142
--- /dev/null
+++ "b/26\351\231\210\344\275\263\347\202\234/day1209\344\275\234\344\270\232\347\254\224\350\256\260.md"
@@ -0,0 +1,143 @@
+作业
+
+```
+/**
+ * 目标1:渲染图书列表
+ * 1.1 获取数据
+ * 1.2 渲染数据
+ */
+const tbody = document.querySelector('.list');
+// 通用的外号
+const creator = '大帅哥';
+// 封装一个先获取数据,再渲染数据的函数
+function render() {
+ axios({
+ url: 'https://hmajax.itheima.net/api/books',
+ params: {
+ creator: creator
+ }
+ }).then(result => {
+ // console.log(result);
+ const bookList = result.data.data;
+ const trHtml = bookList.map((item, i) => {
+ const { id, author, bookname, publisher } = item
+ return `
+
+ ${i + 1} |
+ ${bookname} |
+ ${author} |
+ ${publisher} |
+
+ 删除
+ 编辑
+ |
+
+ `
+ }).join('')
+ // console.log(trHtml);
+ tbody.innerHTML = trHtml;
+ })
+}
+// 打开网页就得先调用一次函数
+render();
+// 实现添加事件
+const form = document.querySelector('.add-form');
+// 为了控制添加的弹窗,先获取
+const addModalBox = document.querySelector('.add-modal');
+const addModal = new bootstrap.Modal(addModalBox);
+// 给保存添加点击事件
+const add = document.querySelector('.add-btn')
+add.addEventListener('click', () => {
+ // 采集数据
+ const book = serialize(form, { hash: true, empty: true })
+ console.log(book);
+ // 将数据用axios调用接口,提交给服务器
+ axios({
+ url: 'https://hmajax.itheima.net/api/books',
+ method: 'post',
+ data: {
+ creator,
+ ...book
+ }
+ }).then(result => {
+ // console.log(result);
+ // 清空表单
+ form.reset();
+ // 关闭弹窗
+ addModal.hide();
+ // 重新获取列表并渲染
+ render();
+ })
+
+})
+
+// 删除事件
+tbody.addEventListener('click', (e) => {
+ // console.log(e.target);
+ if (e.target.classList.contains('del')) {
+ console.log('删除');
+ // 获取删除id
+ // console.log(e.target.parentNode.dataset.id);
+ const id = e.target.parentNode.dataset.id
+ axios({
+ url: `https://hmajax.itheima.net/api/books/${id}`,
+ method: 'delete',
+
+ }).then(result => {
+ console.log(result)
+ // 重新渲染
+ render()
+ })
+ }
+})
+
+// 编辑图书功能
+tbody.addEventListener('click', (e) => {
+ if (e.target.className === 'edit') {
+ // console.log('修改');
+ // 创建一个弹窗的对象
+ const form = document.querySelector('.edit-form')
+ // 获取弹窗
+ const edit = document.querySelector('.edit-modal')
+ const editModal = new bootstrap.Modal(edit)
+ editModal.show()
+ // 获取id
+ const id = e.target.parentNode.dataset.id;
+ // 通过id调用接口 查询对应的图书数据
+ axios({
+ url: 'https://hmajax.itheima.net/api/books/' + id
+ }).then(result => {
+ // console.log(result.data.data);
+ const book = result.data.data;
+ const { id, author, bookname, publisher } = book;
+ // 将图书馆数据显示到表单
+ form.querySelector('.id').value = id;
+ form.querySelector('.bookname').value = bookname;
+ form.querySelector('.author').value = author;
+ form.querySelector('.publisher').value = publisher;
+ })
+
+ // 修改按钮
+ const editbtn = document.querySelector('.edit-btn');
+ editbtn.addEventListener('click', () => {
+ // 采集数据
+ const book = serialize(form, { hash: true, empty: true })
+ console.log(book);
+ // 提交接口
+ axios({
+ url: 'https://hmajax.itheima.net/api/books/' + id,
+ method: 'put',
+ data:{
+ creator,
+ ...book
+ }
+ }).then(result => {
+ editModal.hide()
+ render()
+ // console.log(result);
+ })
+ })
+ }
+})
+```
+\ No newline at end of file
\ No newline at end of file
--
Gitee
From b38cd38a57b29e8a685dd4774d4240a6cc6595be Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=99=88=E4=BD=B3=E7=82=9C?= <626104790@qq.com>
Date: Wed, 13 Dec 2023 13:06:59 +0800
Subject: [PATCH 2/2] zuoyebiji
---
...34\344\270\232\347\254\224\350\256\260.md" | 241 ++++++++++++++++++
1 file changed, 241 insertions(+)
create mode 100644 "26\351\231\210\344\275\263\347\202\234/1212\344\275\234\344\270\232\347\254\224\350\256\260.md"
diff --git "a/26\351\231\210\344\275\263\347\202\234/1212\344\275\234\344\270\232\347\254\224\350\256\260.md" "b/26\351\231\210\344\275\263\347\202\234/1212\344\275\234\344\270\232\347\254\224\350\256\260.md"
new file mode 100644
index 0000000..d4a90f6
--- /dev/null
+++ "b/26\351\231\210\344\275\263\347\202\234/1212\344\275\234\344\270\232\347\254\224\350\256\260.md"
@@ -0,0 +1,241 @@
+## 笔记
+
+## jQuery
+
+jQuery 是一个JavaScript库
+
+jQuery极大简化JavaScript编程
+
+### jQuery 库特性
+
+jQuery 是一个 JavaScript 函数库。
+
+jQuery 库包含以下特性:
+
+- HTML 元素选取
+- HTML 元素操作
+- CSS 操作
+- HTML 事件函数
+- JavaScript 特效和动画
+- HTML DOM 遍历和修改
+- AJAX
+- Utilities
+
+### 添加 jQuery库
+
+jQuery 库位于一个 JavaScript 文件中,其中包含了所有的 jQuery 函数。
+
+可以通过下面的标记把 jQuery 添加到网页中:
+
+```
+
+
+
+```
+
+请注意,
+
+```
+
+### 使用 Microsoft 的 CDN
+
+```
+
+
+
+```
+
+### 使用百度的CDN
+
+ ">
+
+## jQuery 语法实例
+
+- [$(this).hide()](https://gitee.com/link?target=https%3A%2F%2Fwww.w3school.com.cn%2Ftiy%2Ft.asp%3Ff%3Djquery_hide_this)
+
+ 演示 jQuery hide() 函数,隐藏当前的 HTML 元素。
+
+- [$("#test").hide()](https://gitee.com/link?target=https%3A%2F%2Fwww.w3school.com.cn%2Ftiy%2Ft.asp%3Ff%3Djquery_hide_id)
+
+ 演示 jQuery hide() 函数,隐藏 id="test" 的元素。
+
+- [$("p").hide()](https://gitee.com/link?target=https%3A%2F%2Fwww.w3school.com.cn%2Ftiy%2Ft.asp%3Ff%3Djquery_hide_p)
+
+ 演示 jQuery hide() 函数,隐藏所有
+
+ 元素。
+
+- [$(".test").hide()](https://gitee.com/link?target=https%3A%2F%2Fwww.w3school.com.cn%2Ftiy%2Ft.asp%3Ff%3Djquery_hide_class)
+
+ 演示 jQuery hide() 函数,隐藏所有 class="test" 的元素。
+
+## jQuery 语法
+
+jQuery 语法是为 HTML 元素的选取编制的,可以对元素执行某些操作。
+
+基础语法是:*$(selector).action()*
+
+- 美元符号定义 jQuery
+- 选择符(selector)“查询”和“查找” HTML 元素
+- jQuery 的 action() 执行对元素的操作
+
+### 示例
+
+$(this).hide() - 隐藏当前元素
+
+$("p").hide() - 隐藏所有段落
+
+$(".test").hide() - 隐藏所有 class="test" 的所有元素
+
+$("#test").hide() - 隐藏所有 id="test" 的元素
+
+**提示:**jQuery 使用的语法是 XPath 与 CSS 选择器语法的组合。在本教程接下来的章节,您将学习到更多有关选择器的语法。
+
+关键点是学习 jQuery 选择器是如何准确地选取您希望应用效果的元素。
+
+jQuery 元素选择器和属性选择器允许您通过标签名、属性名或内容对 HTML 元素进行选择。
+
+选择器允许您对 HTML 元素组或单个元素进行操作。
+
+在 HTML DOM 术语中:
+
+选择器允许您对 DOM 元素组或单个 DOM 节点进行操作。
+
+## jQuery 元素选择器
+
+jQuery 使用 CSS 选择器来选取 HTML 元素。
+
+$("p") 选取
+
+元素。
+
+$("p.intro") 选取所有 class="intro" 的
+
+元素。
+
+$("p#demo") 选取所有 id="demo" 的
+
+元素。
+
+## jQuery 事件函数
+
+jQuery 事件处理方法是 jQuery 中的核心函数。
+
+事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。术语由事件“触发”(或“激发”)经常会被使用。
+
+通常会把 jQuery 代码放到
+
+部分的事件处理方法中:
+
+### 实例
+
+```
+
+
+
+
+
+
+
+ This is a heading
+ This is a paragraph.
+ This is another paragraph.
+
+
+
+
+```
+
+## 单独文件中的函数
+
+如果您的网站包含许多页面,并且您希望您的 jQuery 函数易于维护,那么请把您的 jQuery 函数放到独立的 .js 文件中。
+
+当我们在教程中演示 jQuery 时,会将函数直接添加到
+
+部分中。不过,把它们放到一个单独的文件中会更好,就像这样(通过 src 属性来引用文件):
+
+### 实例
+
+```
+
+
+
+
+```
+
+## jQuery 名称冲突
+
+jQuery 使用 $ 符号作为 jQuery 的简介方式。
+
+某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号。
+
+jQuery 使用名为 noConflict() 的方法来解决该问题。
+
+*var jq=jQuery.noConflict()*,帮助您使用自己的名称(比如 jq)来代替 $ 符号。
+
+
+
+## 作业
+
+~~~ html
+
+
+
+
+
+
+ Document
+
+
+
+
+
+
+
+~~~
\ No newline at end of file
--
Gitee