整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          jQuery中CSS簡單操作(獲取,追加,移除,切換,判斷)「406」

          • 看下面的動圖,了解一下本例最后實現的效果。

          attr();本身是設置標簽屬性用的,這里用來設置樣式和獲取樣式。

          addClass();這個是追加樣式。

          removeClass();這是移除樣式。

          toggleClass();這是切換樣式,切換的意思很簡單,有就刪除,沒有就追加。

          hasClass();判斷樣式是否存在。

          一、我們先做一個盒子,給它最基本的樣式,就是寬和高。

          二、忘記了,還要鏈接jQuery庫,我們就連官網的庫吧。

          三、現在打開網頁什么都看不見,我們加個按鈕“添加紅色背景”,同時也添加一個樣式addred。

          四、現在可以添加按鈕的點擊事件了,點擊事件先留個空,一步一步來。

          五、接下來可以在事件里面放操作了,這里就給box追加樣式addred。

          六、后面就不啰嗦了,一口氣直接再添加三個按鈕,三個空的點擊事件。

          七、先試著去掉背景。

          八、忘記了,還要添加一個邊框樣式togborder。

          九、toggleClass()它是有則刪,無則加,所以稱為切換。

          十、hasClass()是判斷樣式是否存在,這里我們用alert消息框輸出結果。

          十一、忘記一個方法了,那就是attr(),再加一個按鈕,再加一個點擊事件。

          本文來源于,落筆承冰原創,下面是源碼。

          位小伙伴,接下來講解html基礎部分的填空題的講解。

          ·在html標準中一系列的集合主要包括結構、表現和行為,在這里面不建議各位寫英文。

          ·接下來在這里面htm要通過將網站與網頁之間各個元素鏈接起來并且構成豐富多彩。在這個頁面里面是不是點擊任意的下拉或者對應的內容有什么?是不是有對應的頁面跳轉在這里面就是超鏈接。

          ·在html中可以應用tr,這里面就是行標來設置當前的垂直屬性,就是we alone。

          ·在這里面網頁的跟標記是html主體標記是標題,標記是主體標題是body標題,標題是tatto。

          ·在html標準中結構標準用于對網頁元素進行整理和分類,包括xml和xhtml。

          ·選擇題、填空題做一遍下來都有對應的答案了是吧?什么標記在最前面不用講了,就是文檔類型標記。

          ·在這里面也可以再讀一遍這句話,網頁當中常見的圖片格式有gpg、png和jpg格式。htm有一個中文翻譯,超文本標記語言這個字也要記住,這里面就對應的一個內容的縮寫。

          ·在這里面常用于對于術語和名詞的解析和描述。

          ·列表沒有任何的項目符號,u l無需列表有沒有符號?有ol有沒有有序列表有沒有符號?有一二三四,一個是點方形和圓圈對不對?那就只有哪一個定義列表?d l、d t跟d d。

          ·當to gate等于什么的時候打開新頁面是blank,在這里面記得加個下劃線。

          ·html中spin標記屬于行內標記。html中什么標記用于設置當前表格的表頭?t h標記。t h是標題標記表格的標題標記。

          ·在網頁中列表通常分為三類分別定義,分別是什么?有序、無序和定義。但友情提示,不要寫中文,中文完了之后還補英文的內容,因為格式是這樣子的。如果在這里面把后面忽略掉,也可以把后面內忽略掉。

          ·在圖像中什么屬性用于設置鼠標懸停的時候的提示文字?記住懸停不是未加載,所以是title out是加載不出來的時候顯示。

          ·在html中文本標記負責給文本添加語義,其中he標記為文本添加標題,就主標題,標題用來添加段落。一般情況下寫標題也應該沒問題,只能說一般情況,但是建議按照參考答案走,如果參考答案是錯的不要按照參考答案走。

          ·在input標記中什么是用來指定不同類型的空間?肯定是tap,input標簽又稱之為變色龍標簽。隨著tap的值不同,它的狀態和效果也是不同的。

          ·設置訪問超鏈接的樣子需要給a標簽添加css樣式的尾類是什么?就是list,因為list表示已經訪問。html語言主要通過什么?對當前的內容進行描述肯定是通過標記。htm標記單擊網頁抄鏈接默認的情況下發送的請求方式為get。

          在通常將標記分為單標跟雙標,其中什么是指當前一個標記符號即可以完整的描述當前功能?肯定是單標記。image標簽表示一個圖像信息,它有一個必須要指定的屬性來指定路徑,那就src。在這里面各要知道link標記、a標記還有js的標記常用的外列的標記是哪幾個?這個要懂。

          a標簽用的是客服,image用的是src,放的標記就是放的指的是字體樣式,可以指什么屬性可以指定當前的文本顏色,那就卡了。英文單詞自己記,不要寫錯了。

          若請求u i r地址為當前的內容,則ht t p請求中的host表示主機地址就是對應的網址。在這里面填空題就給大家說完了,謝謝。

          一篇文章我給大家說明了如何從零開始搭建一個node的服務端框架,我們用到了Egg框架。Egg框架我不再過多介紹,如果有小伙伴想了解,可以回去看我以前寫的文章,會有相關的介紹。這次我將在上次搭建的框架上進行延伸,講一下如果用Egg框架連接數據庫,并且實現對數據的增刪查改。接下來我們直接進入主題。

          安裝數據庫插件

          我本次選用的數據庫是MySQL。所以我們安裝Egg官方的數據庫插件即可,首先我們安裝插件 egg-mysql我們在項目根目錄打開命令提示符,輸入命令行:npm i --save egg-mysql 。回車等待插件下載安裝完成。

          npm i --save egg-mysql

          配置插件

          命令行下載安裝插件完成后,我們下一步的工作就是在項目中開啟并配置egg-mysql插件。具體操作如下:

          首先我們要在項目中開啟數據庫。找到項目中的/config/plugin.js文件我們需要在里面添加幾行代碼,如下所示。

          //開啟數據庫插件
            mysql : {
              enable: true,
              package: 'egg-mysql',
            }

          然后我們還要在 config/config.default.js 中配置各個環境的數據庫連接信息。具體配置如下。

          //添加數據庫連接信息
            config.mysql = {
              // 單數據庫信息配置
              client: {
                // host
                host: 'localhost',
                // 端口號
                port: '3306',
                // 用戶名
                user: 'root',
                // 密碼
                password: '123456',
                // 數據庫名
                database: 'testdb',
              },
              // 是否加載到 app 上,默認開啟
              app: true,
              // 是否加載到 agent 上,默認關閉
              agent: false,
            };

          到此步驟我們的數據庫插件已經安裝完成并且配置好了。那我們怎么實現數據的增刪查改呢?大家請繼續往下看。

          數據操作-新增用戶

          首先我們看一下怎么新增數據。我們在mysql的testdb實例中新建一個user空表。如下圖所示。

          我們的egg框架也遵循MVC的架構所以我們一般會在service層里面寫我們邏輯處理的代碼,而controller層則是獲取前端數據,回傳數據的控制層。所以我們操作數據庫的代碼是寫在service文件夾里面的。

          我們在app/service文件夾里面新建一個user.js文件。在里面寫個新增用戶的方法,該方法就是把數據存到數據庫中。具體代碼如下。

          const Service = require('egg').Service;
          
          class UserService extends Service {
          
            //新增用戶data是有controller層傳遞過來的數據記錄。
            async addUser(data) {
          
              const {ctx, app} = this;
              let result = {};
              try {
                data.id = 0;//定義id=0,因為數據庫已經設置id為主鍵,并且自增。所以只需要賦值0即可。
                // 在 user 表中,插入前端提交上來的數據記錄
                const info = await app.mysql.insert('user', data); 
            
                //插入成功后。
                if(info.affectedRows === 1){
                  //給前端返回一個Json的對象
                  result = {
                    state: 0, //自定義的狀態碼
                    msg: "添加成功", //返回的消息
                    data: info.insertId, //新增的記錄的id
                  }
                }
          
              } catch (err) {
                //插入數據失敗的返回結果
                result = {
                  state: 1, 
                  msg: err,
                  data: null,
                }
              }
              
              return result
            }
          };
          module.exports = UserService;

          然后我們在app/controller文件夾里新建一個user.js文件。在這里我們需要獲取前端提交上來的數據,并且將數據處理的結果返回給前端。具體代碼如下。

          'use strict';
          
          const Controller = require('egg').Controller;
          /**
           * @Controller 用戶管理
           */
          class UserController extends Controller {
          
            /**
            * @summary 新增用戶
            * @router post /user/add
            * @request body userAddRequest 
            * @response 200 
            */
            async addUser() {
              const { ctx } = this;
          
              //通過ctx.request.body的方式,可以獲取到前端post方式提交上來的數據
              const data = ctx.request.body;
          
              //調用service層的addUser方法。并且返回相應的結果
              const userInfo = await ctx.service.user.addUser(data);
              
              //向前端接口響應數據。
              ctx.body = userInfo;
            }
          
          }
          
          module.exports = UserController;

          最后我們定義一個路由,讓前端請求訪問此路由。框架會監聽路由是否被訪問,如果被訪問了則會調用我們定義在controller層的新增用戶的方法。我們在app/router.js文件中添加如下代碼,即可完成路由的定義。

          //新增用戶路由
            router.post('/user/add', controller.user.addUser);

          完成這步驟后,我們一個新增用戶的功能就已經完成了。接下里我們就測試一下它的實際效果。我們運行命令:npm run dev。啟動項目,然后打開網頁http://127.0.0.1:7001,可以直接在swagger-ui.html頁面中進行測試。結果如下圖所示。

          經過測試,數據已經添加完成。所以數據庫連接也是正常的。

          本次分享暫時先告一段落。請各位小伙伴抬起你們發財的小手,點個贊唄。下次我將會進行和大家分享對數據查改刪的方法。關注我!!!更多精彩分享不迷路。


          主站蜘蛛池模板: 日韩高清国产一区在线| 在线欧美精品一区二区三区| 精品一区二区ww| 日韩AV无码一区二区三区不卡毛片| 精品女同一区二区三区在线| 中文字幕精品一区二区日本| 亚洲无圣光一区二区| 亚洲综合av一区二区三区不卡| 亚洲熟妇av一区| 国产伦精品一区二区三区免.费 | 欧美日韩综合一区二区三区| 亚洲欧美国产国产一区二区三区| 中文无码AV一区二区三区| 99久久精品国产高清一区二区| 一区二区三区波多野结衣| 精品乱码一区内射人妻无码| 精品无码一区二区三区爱欲九九| 亚洲av成人一区二区三区| 国产小仙女视频一区二区三区| 国产一区麻豆剧传媒果冻精品| 国产亚洲情侣一区二区无码AV| 香蕉免费一区二区三区| 精品中文字幕一区在线| 在线观看中文字幕一区| 少妇无码一区二区二三区| 97se色综合一区二区二区| 久久一区二区三区精华液使用方法| 中文字幕在线一区二区在线 | 精品人妻中文av一区二区三区| 国产成人av一区二区三区在线观看 | 91精品一区二区三区在线观看| 精品国产福利在线观看一区 | 熟妇人妻AV无码一区二区三区| 国产区精品一区二区不卡中文| 99国产精品一区二区| 乱子伦一区二区三区| 亚洲一区电影在线观看| 无码一区二区三区AV免费| 国产一区视频在线免费观看| 色婷婷av一区二区三区仙踪林| 亚洲av日韩综合一区二区三区|