jQuery初長成

代碼部分

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

             nodes.setText=function(text){
                for(let i=0;i<node1.length;i++){
                    node1[i].textContent=text
                }
            }
            return nodes   
        }
        window.$=jQuery
        var $div=$('div')
        $div.addClass(['red'])
        $div.setText('hi')
</script>

思路

首先聲明函數jQuery()並在函數中聲明一個封裝了兩個函數的對象,以實現給元素加class和添加文本的功能;
其次在函數中判斷所傳參數是否爲字符串仍是節點;
接着編寫addClass與setText方法;
最後返回對象nodes,能夠調用對象中的方法,大功告成。node

相關文章
相關標籤/搜索