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. iOS 百度地图计算两个点时间的距离

    最近在解项目bug,更新地位城市的时候有个错误,后来想在位置改变多少距离之后,再取更新位置,这个功能去年做过.但是又忘记了! 所以还是记录一下吧. 百度地图提供了一个方法: BMKMapPointFo ...

  2. 拆解轮子之XRecyclerView

    简介 这个轮子是对RecyclerView的封装,主要完成了下拉刷新.上拉加载更多.RecyclerView头部.在我的Material Design学习项目中使用到了项目地址,感觉还不错.趁着毕业答 ...

  3. LeetCode(60)-ZigZag Conversion

    题目: The string "PAYPALISHIRING" is written in a zigzag pattern on a given number of rows l ...

  4. c# https请求

    遇到Https网站,c# http请求的时候,总是报SSL连接错误.后来经搜索,发现有解决方案: .net 2.0  需要引入一个第三方组件:BouncyCastle.dll,这是我写的一个例子: p ...

  5. 编码与Python的基础

    编码 在linux 系统或者Python2版本中要用Python这门语言呢,就需要在开头加上 # -*- coding:utf8 -*- 这个语句是说呀,当机器编译你写的程序的时候是用utf-8这种编 ...

  6. 发布开源库到JCenter所遇到的一些问题记录

    这周末自己瞎折磨了下,如何发布开源库到 JCenter,然后这过程中碰到了一些问题,在此记录分享一下 本篇是基于上一篇:教你一步步发布一个开源库到 JCenter 介绍的流程.步骤中所遇到的问题,所以 ...

  7. Day 网络协议介绍 简单通信的实现

    比如说实现两个手机之间的通信,需要做的几部: 服务端: 1,买手机 2,插卡 3,开机 4,等电话链接 5,基于建立的链接,收发协议 6,挂电话 7,关机 import socket #买手机 pho ...

  8. ASP.NET Core Api网关Ocelot的中文文档

    架构图 入门 不支持 配置 路由 请求聚合 GraphQL 服务发现 微服务ServiceFabric 认证 授权 Websockets 管理 流量控制 缓存 QoS服务质量 转换Headers 转换 ...

  9. NewLife.Net——网络压测单机1.88亿tps

    NewLife.Net压力测试,峰值4.2Gbps,50万pps,消息大小24字节,消息处理速度1.88亿tps! 共集合20台高配ECS参与测试,主服务器带宽6Gbps.100万pps,16核心64 ...

  10. 利用百度地图api实现定位

    使用百度地图api前需要先获取一个百度地图开放平台的访问应用AK, 获取百度地图开放平台访问应用AK方式:注册百度账号-->申请百度开发者-->获取密匙-->使用相关功能. 注册账号 ...