目的

  1. 给所有的div添加一个叫“red”的class,为方便看到代码的效果,设置如下css,在设置“red”成功时,文本会变红

    .red{
    color:red;
    }
  2. 将所有的div中的textContent变为“Hi”,HTML代码如下:
  • <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8">
    </head>
    <body>
    <div class="item1">选项1</div>
    <div class="item2">选项2</div>
    <div class="item3">选项3</div>
    <div class="item4">选项4</div>
    <div class="item5">选项5</div>
    </body>
    </html>

正文

  1. 完整代码及思路如下,效果点击这里

    window.jQuery=function(nodeOrSelector){
    //1 新建一个对象nodes
    var nodes = {}; //2 如果nodeOrSelector传入的是字符串(选择器),获取对应的所有的元素放到nodes中(伪对象);
    //2 如果nodeOrSelector传入的是一个节点,放到则把nodeOrSelector放到nodes伪数组的第一个值中
    if (typeof nodeOrSelector === 'string') {
    var temp = document.querySelectorAll(nodeOrSelector);
    for (var i = ; i < temp.length; i++) {
    nodes[i] = temp[i];
    }
    nodes.length = temp.length;
    } else if (nodeOrSelector instanceof Node) {
    nodes = {
    : nodeOrSelector,
    length:
    };
    } //3 在nodes中添加一个addClass的属性
    nodes.addClass = function(classes) {
    for (var i = ; i < nodes.length; i++) {
    nodes[i].classList.add(classes);
    }
    }; //4 在nodes中添加一个text的属性,当text没有值时,是获取文本节点,中间有值时是设置文本节点
    nodes.text = function(text) {
    if(text===undefined){
    texts=[];
    for (var i = ; i < nodes.length; i++) {
    texts.push(nodes[i].textContent);
    }
    return texts;
    } else {
    for (var i = ; i < nodes.length; i++) {
    nodes[i].textContent = text;
    }
    }
    };
    return nodes; }; window.$ = jQuery;
    var $div = $('div');
    $div.addClass('red');
    $div.text('Hi');

实现两个jQuery的API(addClass、text)的更多相关文章

  1. jQuery validate api(转)

    官网地址:http://bassistance.de/jquery-plugins/jquery-plugin-validation jQuery plugin: Validation 使用说明 转载 ...

  2. JQuery html API支持解析执行Javascript脚本功能实现-代码分析

    JQuery html用法(功能类似innerHTML) 开发中需要使用Ajax技术来更新页面局部区域, 使用的方法是ajax获取html代码段(字符串),然后将这个html代码段作为参数,传入目标D ...

  3. JQuery常用API 核心 效果 JQueryHTML 遍历 Event事件

    JQuery 常用API 参考资料:JQuery 官网   jQuery API 中文文档 核心 jQuery 对象 jQuery() 返回匹配的元素集合,无论是通过在DOM的基础上传递的参数还是创建 ...

  4. JavaScript强化教程——jQuery UI API 类别

    ---恢复内容开始--- 主要介绍:JavaScript强化教程​—— jQuery UI API 类别 jQuery UI 在jQuery 内置的特效上添加了一些功能.jQuery UI 支持颜色动 ...

  5. jQuery EasyUI API 中文文档 - ComboGrid 组合表格

    jQuery EasyUI API 中文文档 - ComboGrid 组合表格,需要的朋友可以参考下. 扩展自 $.fn.combo.defaults 和 $.fn.datagrid.defaults ...

  6. jQuery学习笔记—— .html(),.text()和.val()的使用

    本节内容主要介绍的是如何使用jQuery中的.html(),.text()和.val()三种方法,用于读取,修改元素的html结构,元素的文本内容,以及表单元素的value值的方法.jQuery中为我 ...

  7. API - .addClass()

    比较简单的一个方法,  jQuery官网中.addClass()有两种参数: 1 .addClass( className )   /* className 为一个或多个(多个时用空格分隔) css ...

  8. jquery 常用api 小结2

    *一)jQuery常用方法API实战 (1)DOM简述与分类 A)DOM是一种标准,它独立于平台,语言,浏览器. B)如果项目中,你完全按照DOM标准写代码,你就能在各大主流的浏览器中操作标准控件. ...

  9. jquery中html()、text()、val()的区别

     (2013-03-26 10:49:16) 转载▼ 分类: jquery   .html()用为读取和修改元素的HTML标签 .text()用来读取或修改元素的纯文本内容 .val()用来读取或修改 ...

随机推荐

  1. 将mysql默认编码改为UTF8

    windows: a. WIN+R  net stop mysql  关闭mysql服务 b. 复制my-dafault.ini,重命名为my.ini,进入里面 UBUNTU: ** sudo vim ...

  2. Axis2 1.7.4构建项目

    1.下载axis2项目文件 http://axis.apache.org/axis2/java/core/download.html 2.Maven文件的pom.xml文件 3.将下载的axis2-1 ...

  3. 杭电 1002 A + B Problem II【大数相加】

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1002 解题思路:就是把大的数用数组存放起来,像小学的时候用竖式加法来算两个数相加那样算: 反思:思路很 ...

  4. switch 语句来选择要执行的多个代码块之一。

    switch(n) { case 1: 执行代码块 1 break; case 2: 执行代码块 2 break; default: n 与 case 1 和 case 2 不同时执行的代码 }

  5. UWP 利用DataGrid控件创建表格

    通过 Nuget 搜索 Microsoft.Toolkit.Uwp.UI.Controls.DataGrid 安装库,在XAML文件中添加引用库 xmlns:controls="using: ...

  6. 使用js控制文本超出部分显示省略号

    js代码 // 字数限制30字,超出不显示 fontNumber (date) { const length = date.length if (length > 30) { var str = ...

  7. java中Map遍历的四种方式

    在java中所有的map都实现了Map接口,因此所有的Map(如HashMap, TreeMap, LinkedHashMap, Hashtable等)都可以用以下的方式去遍历. 方法一:在for循环 ...

  8. C++进阶 STL(3) 第三天 函数对象适配器、常用遍历算法、常用排序算法、常用算数生成算法、常用集合算法、 distance_逆序遍历_修改容器元素

    01昨天课程回顾 02函数对象适配器 函数适配器是用来让一个函数对象表现出另外一种类型的函数对象的特征.因为,许多情况下,我们所持有的函数对象或普通函数的参数个数或是返回值类型并不是我们想要的,这时候 ...

  9. 51nod-活动安排问题之二

    有若干个活动,第i个开始时间和结束时间是[Si,fi),活动之间不能交叠,要把活动都安排完,至少需要几个教室? 分析:能否按照之一问题的解法,每个教室安排尽可能多的活动,即按结束时间排序,再贪心选择不 ...

  10. MySQL 数据库类型