JQuery的诞生让我们对原生态的js代码变得陌生起来,不得不说,他真的是很强大,接下来博主就浅谈一下我对JQuery的一些认知和小tips。

JQuery:他是一个JavaScript库,他将原生态的js代码封装成若干功能强大,使用便捷的方法,对于我们工程师来说,只需要知道基本的js语法,
然后会调用JQuery方法就行了。接下来我们就聊一下JQuery中那些容易理解错的属性、方法
  
 
  1.首先,是选择器

  $("div,span,p.myClass"); 这是取出 所有div span 和 class名叫 myClass 的p标签 , 这里经常会有朋友在书写/检查代码时,
习惯性的认为自己选中的是div中的span、p标签。而忽略了div外部的,这种多条件的选择器,容易记错。了解的语言太多,难免会混。
 
  $("tr:eq(1)");只要是带索引值的东西,都可以选中,这个就是直接按索引值选择,选中索引值为1的元素。eq的索引是从0开始计算的。
$("ul li:nth-child(2)") 这是选中每个ul的第二个li,注意他从1算,而eq从0算。而且nth-child 是选中所有ul中的第二个子元素
$("div:nth-of-type(2)"); nth-of-type 他是选中 父容器div中,同一类标签名(这里是至少有2个);而且在div中位置最靠前的;
    第二个子元素。他的限制条件很多,经常有同志选中的元素并不是最靠前的,从而为达到预期而出错。
 
 
2.其次,是事件
 
  文档就绪函数ready():
    $(document).ready(function(){ // 在这里写你的代码... }); 作用是,处理完完HTML代码后再加在js代码
    避免出现js代码无法取到HTML代码的情况 

    $(function(){}); 这是文档就绪函数的简写形式,通过匿名函数的写法
  他与window.onload()方法的区别:

    (1)window.onload需要在网页所有内容都加载完成后才能执行,包括那些视频之类的;而
  文档就绪函数只要dom结构加载完成就可以执行
    (2)window.onload如果写了好几个,只会执行最后一个,但是文档就绪函数不会,他每个
  都会执行
 
  
  事件绑定函数on():   

    on(events,[selector],[data],fn)给元素绑定一个或多个事件的事件处理函数,on的使用十分灵活,当然也容易出错

      

    $("button").on("click", function(){
      console.log($(this).html());
    })
    这是最基本的事件绑定方式,只使用了event和function两个参数
 
 
    $("button").on("mouseover click",function(){
      console.log($(this).html());
    })
    mouseover和click事件都可以触发回调函数,实现多个事件绑定一个函数
 
 
    $("button").on("click",{name:"我"},function(event){
      console.log(event.data.name);
    })
      这是调用函数时,传入参数。注意:event是一个默认的形参,不写是默认有的,如果我们自身定义形参,
    那必须写上event,因为传参时默认先给event。所以,这里,经常会有朋友不注意,然后导致传参混乱出错。
      注意这里打印出来的内容,clientX:72 clientY:20 这是取得了鼠标的坐标;which:1 是鼠标左键点击的
    这些属性还是很常用的,初学者可以常识多运用练习一番
 
 
    $("button").on({
      click:function(){
      console.log("click");
    },
    mouseover:function(){
        console.log("mouseover");
      }
    })
    同时实现同一个元素,多个事件,分别绑定自己的事件函数
 
 
    $("body").on("click","button",function(){
      alert("1");
})
  这是事件委派,是将原本要绑定到某元素上的事件,绑定到父容器乃至根节点上,然后再委托到想绑定事
件的子节点上就是比如阿贾克斯里面,如果页面新增加了一些标签,他们想带上咱原来设置的一些事件,那
就用这个。意思是 选中父容器,再选中父容器中的子元素,就会使在这个父容器中新增的所有子元素也会
带上这个 绑定的事件。因为那些新增的元素,默认是无法绑定以前的事件的
 
 
3.原生dom与jQuery对象之间的相互转换
   (1)原生dom转jQuery对象

       console.log($("p").hide(2000));
      这是通过$(“选择器”),通过这种方式将HTML代码转换掉
   (2)jQuery转原生dom对象
       $("p")[1].style.color="red";
     因为jQuery是把原生的js代码以对象的形式存到自己的数组中。所以,直接在 $("p")[1]
     以这个数组的形式,直接确定要修改哪一个HTML标签就可以了
       $("p").get(0).style.color="blue";
       或者也可以用上述的方法直接改,直接用get()这个方法去取对象中的元素
 
    例:$("p").css({"color":"yellow","background-color":"blue","font-size":"55px"});
    此例是用js的方式修改所有p标签的样式,前面是通过jQuery选中了所有的p标签。
    这里得格外注意,经常会有朋友将二者混在一起,js与jQuery代码混杂,产生错误。
    当然,这样使用虽然在有些场合十分便捷,还是不建议新手使用,没有分的很清晰的,最好别大量使用
 
以上,是博主曾经遇到过的一些比较典型的问题,以后还会不断完善,也希望广大朋友们能来共同探讨,相互学习。
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

  

关于JQuery的技巧、易错点(连载中.....)的更多相关文章

  1. JQuery中的小技巧,,,连载中。。。

    获取下拉框中选中项的文本等操作 jQuery获取Select元素,并选择的Text和Value:  1.获取select 选中的 text : $("#ddlRegType").f ...

  2. java 易错选择题 编辑中

    1 System.out.println(int(a+b)); 编译错误  应该是(int)(a+b) 2 String s="john"+3; 是正确的,结果就是 john3 3 ...

  3. 关于Verilog HDL的一些技巧、易错、易忘点(不定期更新)

    本文记录一些关于Verilog HDL的一些技巧.易错.易忘点等(主要是语法上),一方面是方便自己忘记语法时进行查阅翻看,另一方面是分享给大家,如果有错的话,希望大家能够评论指出. 关键词: ·技巧篇 ...

  4. js基础知识易错点(一)

    最近替另一个项目招人,要求基础知识好,随便问了一些基础题,发现了一些易错的点,总结一下. 1.判断一个空数组 var arr = []; 1)JSON.stringify(arr) == " ...

  5. 常用的jQuery前端技巧收集

    调试时巧用console.log(),这比用alert()方便多了. jquery易错点:元素拼接的时候,元素还未添加到DOM,就用该预添加元素操作. ajax动态获取的数据,还没有装载html元素, ...

  6. JavaScript易错知识点整理

    前言 本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一 ...

  7. JavaScript 易错知识点整理

    本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一些ES ...

  8. 10个jQuery小技巧

    收集的10个 jQuery 小技巧/代码片段,可以帮你快速开发. 1.返回顶部按钮 你可以利用 animate 和 scrollTop 来实现返回顶部的动画,而不需要使用其他插件. $('a.top' ...

  9. Java五道输出易错题解析(避免小错误)

    收集了几个易错的或好玩的Java输出题,分享给大家,以后在编程学习中稍微注意下就OK了. 1. 看不见的空格? 下面的输出会正常吗? package basic; public class Integ ...

  10. 关于Eclipse项目中加入jquery.js文件报错(missing semicolon)问题

    在使用Eclipse3.7及以后的版本的时候,加入jQuery文件会报错(missing semicolon),文件中会显示红色小X,虽然这个错误并不会影响项目的运行,但是这个却会大大的影响到开发人员 ...

随机推荐

  1. Gradle 1.12用户指南翻译——第四十三章. 构建公告插件

    本文由CSDN博客貌似掉线翻译,其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Githu ...

  2. ZeroC Ice IceGrid Node和IceGrid

    IceGrid Node介绍 绝大多数分布式系统都有一个共同特点,即分布在各个主机上的节点进程并不是完全独立的,而是彼此之间有相互联系和通信的.集群对集群中的节点有一些控制指令,如部署.启停或者调整某 ...

  3. mybatis源码之BaseStatementHandler

    /** * @author Clinton Begin */ public abstract class BaseStatementHandler implements StatementHandle ...

  4. RHEL 6.9 udev 将lv绑定raw devices

    环境 RHEL6|RHEL7,LVM2,RAW device 用途 使用LVM的lv逻辑卷绑定裸设备 1. 编辑 /etc/udev/rules.d/60-raw.rules 添加如下: ACTION ...

  5. 转发 JBPM工作流小结

    JBoss 题记:某部门领导有天突发奇想,把我们几个人叫过去,曰:最近出去开会,老有人推销自己的工作流产品,说的这好那好,你们几个给我研究研究.正好刚做完的xxx子系统里有一个申请审批的流程,你们按这 ...

  6. PhpStudy如何开启Apache的gzip压缩功能?

    要让apache支持gzip功能,要用到deflate_Module和headers_Module. 打开apache的配置文件httpd.conf,大约在105行左右,找到以下两行内容:(这两行不是 ...

  7. Linq小整理

    Linq(Language Integrated Query)中文翻译为语言集成查询 (1)源起 .net的设计者在类库中定义了一系列的扩展方法 来方便用户操作集合对象 这些扩展方法构成了LINQ的查 ...

  8. 微信公众号网页授权登录--JAVA

    网上搜资料时,网友都说官方文档太垃圾了不易看懂,如何如何的.现在个人整理了一个通俗易懂易上手的,希望可以帮助到刚接触微信接口的你. 请看流程图!看懂图,就懂了一半了: 其实整体流程大体只需三步:用户点 ...

  9. JSF-页面导航

    页面导航 1)导航处理涉及的术语: -动作值:触发动作事件的组件的action:EL方法表达式.字符串文字. -结果值:动作组件的action属性的:EL方法表达式的返回值.字符串文字:或结果组件的o ...

  10. php仿经典省市县三级联动

    之前有个需求要写个类似省市县三级联动的页面,于是,网上找了点资料看了下,其实原理很简单: 当我们选择一级栏目中某条记录的时候,会获取该栏目的vaule值,并发起ajax请求,后台根据这个vaule值, ...