1.jquery中的index方法和eq方法

index()方法:index()获取的索引值是相对同兄弟元素,即同一个父元素,,所以首先要确认一下这个元素的兄弟是谁,例如:

当遇到以上的情况很容易就觉得要在img元素上绑定事件,不行,因为img的兄弟元素其实只有他自己,所以要在li上面绑定,这样子绑定的每一次的index()才都不同。所有遇到这种情况,绑定img的父元素li,然后再分别查找相应的img元素

eq()方法:eq(index)选择器只匹配一个元素,并且是所有匹配到的元素中的第index + 1个元素(索引index从0开始算起);例如:

$("img").eq(2)=====>>指向的是img3这个元素

index()方法和eq()方法的区别,

index()方法是相对同一个父元素的兄弟元素,而eq()选择所有匹配到的元素,而:nth-child(n)选择器也是相对于同一个父元素!!!

2、事件委托

具体来说,事件委托就是事件目标自身不处理事件,而是把处理任务委托给其父元素或者祖先元素,甚至根元素(document)。当要为DOM中的很多元素绑定相同事件或者要为DOM中尚不存在的元素绑定事件时,使用事件委托!!!

当html()中的元素是动态添加时,需要注意的是,如果这时候要调用元素的点击事件时,直接查找该元素进行点击元素事件绑定,这时候点击事件会失效,解决方法有两种

第一种直接在动态html里面调用click()事件,并传this。

第二种就是事件委托通过父级来查找相应的点击元素,新版本的事件委托统一使用on()来进行事件绑定跟委托

示例:$("ancestor").on( "click", "selector" [, data ], handler );

// 这里的选择器selector用于指定可以触发事件的元素
// 这里的选择器ancestor应是selector的祖辈元素,selector触发的事件可以被其祖辈元素在事件流中捕获,从而以"代理"的形式触发事件。

3、jQuery.extend和jQuery.fn.extend的区别

第一种:jQuery.extend,首先我们把jQuery当做人类,jQuery.extend(),是扩展的jQuery这个类。比如人类会吃饭睡觉,现在用这个扩展方法给人类增加一个会唱歌的技能。

jQuery可以用$符号代替,$.liu();这样就能打印出来”liu“这个字符串,这说明.liu()变成了jQuery这个类本身的方法(object)。但是,这个能力啊,只有代表全人类的 jQuery 这个类本身,才能用啊。像$("div").liu()就会用不了报错!!

jQuery.extend的两种写法如下!!

第二种:jQuery.fn.extend()

jQuery.fn.extend拓展的是jQuery对象(原型的)的方法啊!对象是啥?就是类的实例化嘛,例如$("#abc") 这个玩意就是一个实例化的jQuery对象

$('selector').xyz();

你要是这么用$.xyz();是会出错误!!!。

区别

jQuery.extend()这个方法,主要是用来拓展个全局函数啦,例如$.ajax()这种,要不就是拓展个选择器啦,例如$.fn.each(),当选择器用。

大部分插件都是用jQuery.fn.extend()。

4、$().each()和$.each()的区别

在jq中经常用这两个方法来进行数组跟对象的遍历

第一个:$().each 在dom处理上面用的较多。如果页面有多个input标签类型为checkbox,对于这时用$().each来处理多个checkbook。例子如下:

$(“input[name=’ch’]”).each(function(i){
  if($(this).attr(‘checked’)==true){
      //一些操作代码
  }
})
回调函数是可以传递参数,i就为遍历的索引。

第二个:遍历一个数组或者对象通常用$.each()来处理  例如:

$.each([{name:"limeng",email:"xfjylimeng"},{name:"hehe",email:"xfjylimeng"}],function(i,n)
{
alert("索引:"+i+"对应值为:"+n.name);
}); 参数i为遍历索引值,n为当前的遍历对象. var arr1 = [ "one", "two", "three", "four", "five" ];
$.each(arr1, function(){
alert(this);
});
输出:one two three four five var arr2 = [[, , ], [, , ], [, , ]]
$.each(arr2, function(i, item){
alert(item[]);
});
输出: var obj = { one:, two:, three:, four:, five: };
$.each(obj, function(key, val) {
alert(obj[key]);
});
输出:

jquery知识巩固的更多相关文章

  1. 最全的jQuery知识汇总

    本帖最后由 断天涯大虾 于 2016-12-26 10:22 编辑<ignore_js_op> jQuery是什么? jQuery是javascript编写一个可重用的JavaScript ...

  2. jQuery 知识体系

    jQuery基础知识一 jQuery之知识二-选择器 [jQuery知识]jQuery之知识三-过滤器 [jQuery知识]jQuery之知识四-DOM和CSS操作 [jQuery知识]jQuery之 ...

  3. jQuery知识集锦

      CreateTime--2017年2月16日14:00:22Author:MarydonjQuery知识集锦1.empty()与remove()的区别 <select id="ty ...

  4. jQuery知识重构

    jQuery知识重构 目录: 一.入口函数 1          $(document).ready(function(){}); 2          $(function(){}); jQuery ...

  5. jQuery知识梳理20190818

    目录 jQuery知识梳理20190818 1. 时间绑定和解绑 2. 区别mouseover与mouseenter 3. 时间委托(委派/代理) 4 . 多库共存 5.window.onload与$ ...

  6. jQuery知识梳理20190817

    目录 jQuery知识梳理20190817 1. jQuery的特征 2. jQuery的两把利器 2.1 jQuery核心函数 2.2 jQuery核心对象 3. jQuery核心函数详解 4. j ...

  7. JQuery知识快览之三—JQuery对象集

    本文讲述JQuery对象集的各相关知识 获取JQuery对象集 JQuery对象,和DOM对象是两个不同的东西,JQuery对象可以是DOM对象的封装,但是JQuery对象不只是DOM对象的封装,它还 ...

  8. jquery知识 属性 css

    jquery基础知识 属性 css <!doctype html> <html lang="en"> <head> <meta chars ...

  9. 笔记7:Jquery知识

    jQuery 1 基本知识 jQuery 是一个 JavaScript 库.jQuery 极大地简化了 JavaScript 编程.其下载地址:http://jquery.com/download/ ...

  10. JQUERY知识总结

    1, 让页面上某一个已存在的SELECT被选中的JQuery写法  $("#test").find("option[value='3']").prop(&quo ...

随机推荐

  1. MyBatis-Helloworld

    一.依赖配置 1.pom.xml <?xml version="1.0" encoding="UTF-8"?> <project xmlns= ...

  2. MarkdownPad使用

    正文: 1.标题的几种写法: 第一种:     前面带#号,后面带文字,分别表示h1-h6,上图可以看出,只到h6,而且h1下面会有一条横线,注意,#号后面有空格 第二种:      这种方式好像只能 ...

  3. 解决mysql:Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)

    (一)出现问题的的报错信息 Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111) ( ...

  4. shiro默认登录

    业务需要,A项目跳转到B项目进行相关操作.而B项目使用的是shiro登录验证,懵逼了半天,好吧我很菜. 当然你也可以在shiro配置文件中放过这些方法,但是为了安全考虑需要遵守这些规则. 因此A跳转到 ...

  5. zepto.min.js

    /* Zepto v1.1.3 - zepto event ajax form ie - zeptojs.com/license */var Zepto=function(){function L(t ...

  6. 关闭Android ActionBar

    修改Styles.xml中 <resources> <!-- Base application theme. --> <style name="AppTheme ...

  7. JDK8新特性01 Lambda表达式01_设计的由来

    1.java bean public class Employee { private int id; private String name; private int age; private do ...

  8. MySQL的一些基本命令笔记(1)

    关系型数据库的建模构建块: 1.数据是以行和列的形式存储数据. 2.这一系列的行和列称为表(关系) 3.表中的每一行表示一条记录(元组) 4.表中的每一列表示记录的一个属性 5.一组表组成了数据库 6 ...

  9. ******十三 ******、软设笔记【操作系统】-磁盘管理、虚设备与SPOOLing系统

    五.磁盘管理 1.磁盘的访问时间 *寻道时间Ts:把磁臂从当前位置移到指定磁道上所经历的时间 *选择延迟时间Tr:指定扇区移动到磁头下面所经历的时间. *传输时间Tt:数据从磁盘读出或向磁盘写入数据所 ...

  10. 【PgSQL安装(含配置)】PostgreSQL简称PgSQL,是1980以加利福尼亚大学开发的DBMS,严格遵守标准SQL。

    [下载地址]http://www.enterprisedb.com/products-services-training/pgdownload#windows …………………………………………………… ...