自制jQuery函數(shù)實現(xiàn)修改元素樣式及文本內(nèi)容

源代碼

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        .red {
            color: red;
        }
    </style>
</head>

<body>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <script>
        window.jQuery = function (nodeOrSelector) {
            let nodes = {}
            if (typeof nodeOrSelector === 'string') {
                let temp = document.querySelectorAll(nodeOrSelector)
                for (let i = 0; i < temp.length; i++) {
                    nodes[i] = temp[i]
                }
                nodes.length = temp.length
            } else if (nodeOrSelector instanceof Node) {
                nodes = {
                    0: nodeOrSelector,
                    length: 1
                }
            }
            nodes.addClass = function (classes) {
                for (let i = 0; i < nodes.length; i++) {
                    nodes[i].classList.add(classes)
                }
            }
            nodes.setText = function (text) {
                for (let i = 0; i < nodes.length; i++) {
                    nodes[i].textContent = text
                }
            }
            return nodes
        }

        window.$ = jQuery
        var $div = $('div')
        $div.addClass('red') // 可將所有 div 的 class 添加一個 red
        $div.setText('hi') // 可將所有 div 的 textContent 變?yōu)?hi
    </script>
</body>
</html>

代碼實現(xiàn)過程

  1. 首先window.jQuery創(chuàng)造全局的構造函數(shù)
  2. 先判斷傳入的參數(shù)是單個選擇器還是多個選擇器,如果是多個選擇器則遍歷它們放到新的偽數(shù)組中,如果是單個選擇器,則直接將它放到偽數(shù)組中第 0 個的位置,并賦值 length 為 1
  3. 給元素追加樣式:通過for循環(huán)遍歷偽數(shù)組中的每一個元素,并給它們添加相應的樣式,來給每一個元素追加樣式
  4. 修改元素文本內(nèi)容:同樣用for循環(huán)遍歷的方法遍歷每個元素,并修改它們的文本內(nèi)容
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • HTML 5 HTML5概述 因特網(wǎng)上的信息是以網(wǎng)頁的形式展示給用戶的,因此網(wǎng)頁是網(wǎng)絡信息傳遞的載體。網(wǎng)頁文件是用...
    阿啊阿吖丁閱讀 4,953評論 0 0
  • 概要 64學時 3.5學分 章節(jié)安排 電子商務網(wǎng)站概況 HTML5+CSS3 JavaScript Node 電子...
    阿啊阿吖丁閱讀 9,851評論 0 3
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標準。 注意:講述HT...
    kismetajun閱讀 28,819評論 1 45
  • 一、樣式篇 第1章 初識jQuery (1)環(huán)境搭建 進入官方網(wǎng)站獲取最新的版本 http://jquery.co...
    凜0_0閱讀 3,672評論 0 44
  • 1.JQuery 基礎 改變web開發(fā)人員創(chuàng)造搞交互性界面的方式。設計者無需花費時間糾纏JS復雜的高級特性。 1....
    LaBaby_閱讀 1,505評論 0 2

友情鏈接更多精彩內(nèi)容