美文网首页
实现一个jQuery的API心得

实现一个jQuery的API心得

作者: 钢笔与橡皮 | 来源:发表于2018-02-05 14:43 被阅读0次
<!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{ background:red; } 
        .blue{ background:blue }
    </style>
</head>
<body>
    <div id='xxx'>nihao</div>
    <div>nihao</div>
    <div>nihao</div>
    <div>nihao</div>
    <div>nihao</div>
<script> 
window.jQuery = function (nodeOrSelector) { 
    var node
    if(typeof nodeOrSelector==='string'){
        node=document.querySelector(nodeOrSelector)
    }else{
        node=nodeOrSelector
    }
    var allChildren = node.parentNode.children
    return{
        addClass:function(color){
            for (let i = 0; i < allChildren.length; i++) {
                allChildren[i].classList.add(color)   
            }
        },
        text:function(text){
            if(text===undefined){
                var texts=[]
                for (let i = 0; i < allChildren.length; i++) {
                    texts.push(allChildren[i].textContent)
                }
                return texts
            }
            else{
                for (let i = 0; i < allChildren.length; i++){ 
                    allChildren[i].textContent=text 
                }
            }
            
        }               
    }   
} 
window.$ = jQuery
var $div = $('div')
$div.addClass('blue') // 可将所有 div 的 class 添加一个 red
$div.text('hi') // 可将所有 div 的 textContent 变为 hi
</script>
</body>
</html>

1.通过在window.jQuery上添加一个函数声明命名空间,从而防止全局变量的产生。

  1. 考虑到用户可能传入的是一个节点或者是字符串,用 typeof nodeOrSelector==='string'进行判断。(这里很容易把typeof打成typeOf)
  2. 取到用户输出的节点后用node.parentNode.children来选择所有兄弟节点(包括自己)(如果要只选择兄弟节点可以对其遍历,剔除自身)
  3. 返回两个方法,调用对象的方法传入必要参数。
  4. 调取方法时先判断是否传入了参数从而将设置text和获取功能合二为一。

相关文章

  • 初探jQuery

    jQuery API的实现 自己模拟jQuery的一个API预览:http://js.jirengu.com/pa...

  • 如何实现一个jQuery的api

    什么是jQuery 实现jQuery的api 实现jQuery的api说起来也很简单,就是对DOM进行封装。话不多...

  • 实现一个jQuery的API心得

    1.通过在window.jQuery上添加一个函数声明命名空间,从而防止全局变量的产生。 考虑到用户可能传入的是一...

  • 实现一个 jQuery 的 API

    实现一个 jQuery 的 API 实现步骤 命名空间模式 这个模式的调用为jQuery.addClass(ite...

  • 前端基础入门五(掌握jQuery的常用api,实现动态效果)

    jQuery基本概念 学习目标:学会如何使用jQuery,掌握jQuery的常用api,能够使用jQuery实现常...

  • 用原生DOM实现一个jQuery的API

    今天第一次接触jQuery,先简单的实现一个jQuery的API,实现两个方法: addClass() setTe...

  • 实现一个 jQuery 的 API

    想要实现一个以下功能用原生js的DOM API来实现一个类jQuery API的功能 1、首先获取DOM元素 判断...

  • Angularjs选项卡

    用jQuery实现选项卡,通过操作dom节点实现,jQuery多数api方便操作dom。例如next()、sibl...

  • 2018-08-22

    实现JQuery之API 1.需求分析window.jQuery = ???window.div = div.ad...

  • 实现jQuery的API

    1. jQuery函数结构 jQuery函数要方便与输入一个选择器参数或则节点正确返回一个伪数组,便于对其明确执行...

网友评论

      本文标题:实现一个jQuery的API心得

      本文链接:https://www.haomeiwen.com/subject/zwobzxtx.html