1.jQueryDOM互相转换

jQuery入库函数:$(document).ready(function(){})

$(function(){})

$(“#btn”):jQuery存储的是DOM对象,相当于数组可以通过[ ]取出具有相同标记的DOM对象

jQuery对象转换为DOM对象:$(“#btn”)[0]  或者  $(“#btn”).get(0),0表示索引号

var btn=document.getElementById(“btn”);
DOM对象转换为jQuery对象:$(btn)

2.jQuery选择器

① 基本选择器

(1) 标签选择器

$(“li”).css(“background”,”pink”);

(2) Id选择器

$(“#id”).css(“fontSize”,”30px”);

(3) 类选择器

$(“.class”).css(“background”,”pink”);

(4)交集选择器

$(“li.class”).css(“background”,”pink”);给具有class类的li标签设置背景色

(5) 并集选择器

$(“li,div”).css(“background”,”pink”);同时给li和div标签设置背景色

② 层级选择器

(1)子代选择器

$(“#ulitem>li”). css(“background”,”pink”);选择指定父元素下面的指定子元素
$(“#ulitem>.class”). css(“background”,”pink”);

$(“.wrap>ul>li”). css(“background”,”pink”);

(2) 后代选择器

find(“li”)

$(“#Id(空格)li”). css(“background”,”pink”);选择指定祖先元素下面的后代元素包括子元素的子元素,都会被选上。可以跳级选择#Id>ul>li,可以选择到li

(3)过滤选择器

$(“li:odd”). css(“background”,”pink”);所有选择到的元素,索引号奇数选择器

$(“li:even”). css(“background”,”pink”);
所有选择到的元素,索引号偶数选择器

$(“li:eq(4)”). css(“fontSize”,”30px”);
所有选择到的元素,索引号相等选择器

$(“.class > li”).eq(4).
css(“fontSize”,”30px”); 索引号相等选择器,第二种方法

$("#Id>li:eq(“+ index
+”)”).show();index为动态改变索引号

3.jQuery操作演示

① 样式属性设置

(1) 同时设置多个样式

$(“li”).css(

{“background”:”pink” , ”fontSize”:”30px”
, “color”:”green”}

);    传入一个对象

或者

var cssStys = {“background”:”pink”
, ”fontSize”:”30px” , “color”:”green”}

$(“li”).(cssStys);

(2) 类名操作

a ) $(“div”).addClass(“box”)

添加两个类名xxx.className =
xxx.className + “box”;

$(“div”).addClass(“xxx.className”)

b ) $(“li”).removeClass(“box”)
, 如果不传入参数,会移除所有类名

② 动态创建元素

var aLink = $(‘<a href=”http://web.baidu.com”>百度</a>’);

$(“div”).append(aLink);

或者  $(“div”).append(‘<a href=”http://web.baidu.com”>百度</a>’);

append(#Id);如果追加的是已经有的元素,会从元素原来的位置移除元素追加到当前需要追加元素的位置

$(“div”).html(‘<a href=”http://web.baidu.com”>百度</a>’);清空原有元素,创建当前元素/内容

③ 获取宽高

var height = $(#Id).css(“height”);
height为string类型,值为如:200px

计算宽高:parseInt(height);

或者$(#Id).height();直接获取数值类型高度

4
jQuery
的事件对象

$(“div”).on(“click” , “input”
, function( event
){

event.delegateTarget 表示:代理绑定事件的元素 ----->div

event.currentTarget  表示:绑定事件的元素     ----->input

event.target        表示:触发事件的元素,点击谁---->谁

})

event.data                                     传递给事件处理程序的额外数据

event.currentTarget                        等同于this

event.pageX                                  鼠标相对于页面左边的位置

event.target                                   触发事件源,不一定===this

event.stopPropagation();               阻止事件冒泡

event.preventDefault();             阻止默认行为

event.type                                      事件类型:click,dbclick…

event.which                                    鼠标的按键类型:左1 中2 右3

event.keyCode                                键盘按键代码

return false; // 同时具有阻止冒泡和阻止默认行为的功能

this:哪个元素触发的事件,this就指向这个元素。

5
隐式迭代

设置操作

$(“div”).css(“color” , “red”);

给所有的div设置背景色为红色,自动进行循环遍历设置,不用再添加循环。

$(“div”).css(“color”);

获取属性时,只返回第一个div元素的背景色,相当于索引为[0],如果第一个元素没有这个属性,返回undefined

6链式编程

$(#Id).children(“ul”).children(“li”).css(“opacity”,0.5);

$(#Id).parent(“li”).siblings(“li”).children(“div”).css(“opacity”,0.5);

实现原理:通过构造函数创建对象,同时return this;

构造函数:function person (){

        this.name = “Tom”;

        this.age = 18;

        this.sayHello = function(){

        console.log(this.name);

        return
this
;}

        this.addAge = function(){

        this.age++;

        console.log(this.age)

        return
this
;}

      }

创建对象: var person = new person(
);

调用person.sayHello().addAge();实现链式编程

end():结束当前链最近的一次过滤操作,恢复链式编程被修改之前的一个状态

$(“div > ul”).text().prevAll(“li”).text().end()   此时返回的this为”ul”

7.jQuery 基本方法

parent():父元素选择

children():子元素选择

mouseenter():鼠标进入

parents():祖先元素选择

next():获取紧挨下一个元素

mouseleave():鼠标离开

css(“fontSize”):获取样式

siblings():获取兄弟元素

css(“attr”,value):改变style

find(“li”):选择指定后代元素 注释:find()括号中必须传入元素

focus():获取焦点

blur():失去焦点

dbclick():双击事件

change():改变事件

keydown():键盘按下事件

click():单击事件

addClass(“class”):添加类名

removeClass():移除类名

hasClass():判断是否有类名

toggleClass()[1]:判断是否有类名,有就移除没有就添加

fadeIn():淡入动画

index():获取元素索引号

show(num): 展示动画

slideDown():划入动画效果

fadeout():淡出动画

hide(num):隐藏动画

slideUp():划出动画效果

fadeTo(200,0.5):淡到动画

fadeToggle():似toggleClass()

slideToggle():似toggleClass()

animate():自定义动画

stop():停止动画

append():在后面追加元素

empty():清空元素

html(“”):清空元素

element.appendTo(node): element元素往node元素中添加

prepend():向前添加元素

remove():移除元素

clone():复制元素,返回一个jQuery对象

after():在当前元素后面添加

before():在当前元素前添加

attr():获取、设置属性

html():获取html

text():获取纯文本内容

val():获取文本值

stopPropagation():阻止冒泡

preventDefault():阻止默认行为

height():获取高度,数值型

width():获取宽度,数值型

scrollTop():被卷去头部

scrollLeft():被卷去左部

   

prop():设置属性,主要应用设置checked,selected,disabled,等动态改变的属性,用法与attr()相同

offset({top:100,left:100}):获取、设置相对页面左上角位置,获取设置结果为对象如{top:100,left:100}

如果元素有定位,不设置定位,如果没有定位,会被设置position:relative

bind({“click mouseenter”,function(){}})[2]:可同时绑定多个事件,不能给动态创建元素绑定事件

$(“ul”).delegate(“li” , ”click” , function() {alert(“事件绑定”)}): 给动态创建元素绑定事件,机理:给父元素绑定事件,子元素可以触发事件,事件冒泡机制。

on()[3]:即可给原本存在元素绑定事件,也可给动态创建元素绑定事件,zepto手机端通用

unbind():解除bind()绑定事件,不常用

undelegate():解除delegate()绑定事件,不常用

off(“click”):解除绑定事件,全部都解除

off(“click” , “**”):解除动态绑定事件,自身绑定事件还存在

trigger(“focus”):触发事件,即触发已经绑定的事件,会触发浏览器的默认行为

triggerHander(“focus”):触发事件,即触发已经绑定的事件,不会触发浏览器的默认行为

prevAll():获取指定元素之前的所有元素

nextAll():获取指定元素之后的所有元素

end():结束当前链最近的一次过滤操作,恢复链式编程被修改之前的一个状态

each(function(index,ele){})[4]:循环设置每个元素,包含index,ele两个参数

8.jQuery属性

① length属性解析

.length :获取匹配元素的个数,不是方法是jQuery属性

$(#Id).find(“:checkbox”).length,表示所有type = checkbox的input的个数

② jQuery多库共存

$.noConflict(): 让jQuery释放对$的控制,$.noConflict():需要放到最上部

释放$后调用jQuery------

jQuery(function(){

  jQuery(“btn”).click(function(){

    alert(123)

  })

})

或者var j = $.noConflict(); 之后使用j  j(function(){   })

③  jQuery插件制作

$.fn.changeBg = function(){  }

changeBg为函数名,$.fn.changeBg 为固定写法

9.jQuery方法可行特性分析

① 鼠标触碰排他事件:

$(“.class > li”).mouseenter(function(){

$(this).addClass(“className”).siblings(“li”).removeClass(“className”)

})

② show()动画效果

Show(400) = show(“normal”)
  Show(200) = show(“fast”)

Show(600) = show(“slow”)

Show (2000 , function () {

  alert(“动画执行完后,立即执行的回调函数”);

})

③ animate()自定义动画实现只能改变单一数值属性 font,backgruond等效果无法实现

$(“btn”).click(function(){

$(“div”).animate(

  {“width”:”200px”
, “height”:”200px” , “opacity”:0.4} , 2000 , function(){

    alert(“执行自定义动画”)

  })

})

④ 通过选择器获取对象

$(#Id).find(“:checkbox”).length    $(#Id).find(“:checkbox: checked”).length

$(#Id).find(“:checked”).length

⑤ 键盘按下事件on(“keydown”)

$(document).on(“keydown” ,
function(event){

    var
keyCode = event.keyCode;

    $(“#Id”).text(keyCode);

    switch(keyCode){

      case 
82:

      $(“#Id”).css(“background” , ”red”);

       Break;

      case 
71:

      $(“#Id”).css(“background” , ”green”);

      Break;

    }

})

注释:

[1]  toggleClass(“div”)实现原理:

if($(“div”).hasClass(“box”))
{

    $(“div”).removeClass(“box”);

   }  else  {

    $(“div”).addClass(“box”);

}

[2]  bind({ })实现:

①$(#Id).bind ( {

    “click” : function(){
alert(“被点击了”) },

    “mouseenter” : function(){“鼠标进入了”}

 })

②$(#Id).bind (

    “click mouseenter”,function(){

    i++;

    alert( i );

   })   alert(1) , alert(2)

[3]
给原本存在元素绑定事件:

$(#Id).on(

    “click mouseenter”,function(){

    i++;

    alert( i );}))

给动态创建元素绑定事件:

$(“ul”).on( “click” , ”li” , function(){alert(“事件绑定”) } )

[4]
each()方法使用,例:给10给li设置透明度

$(“li”).each(function(index,ele){

    index表示当前元素的索引号

     ele表示当前元素

    var p = (index + 1)/10;

  $(ele).css(“opacity” , p)

  })

jQuery基础 浅析(含基本方法和选择器)的更多相关文章

  1. jQuery基础学习5——JavaScript方法获取页面中的元素

    给网页中的所有<p>元素添加onclick事件 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN& ...

  2. Web前端学习笔记之jQuery基础

    0x0 jQuery介绍 jQuery是一个轻量级的.兼容多浏览器的JavaScript库. jQuery使用户能够更方便地处理HTML Document.Events.实现动画效果.方便地进行Aja ...

  3. jQuery基础之选择器

    摘自:http://www.cnblogs.com/webmoon/p/3169360.html jQuery基础之选择器 选择器是jQuery的根基,在jQuery中,对事件处理.遍历DOM和Aja ...

  4. jQuery基础---常规选择器

    内容摘要: 1.简单选择器 2.进阶选择器 3.高级选择器 发文不易,转载请注明出处! jQuery 最核心的组成部分就是:选择器引擎.它继承了 CSS 的语法,可以对 DOM 元素的标签名.属性名. ...

  5. jQuery基础(DOM篇,append(),after(),prepend(),insertAfter(),节点删除,遍历方法each())

    1.DOM创建节点及节点属性   创建流程比较简单,大体如下:   - 创建节点(常见的:元素.属性和文本) - 添加节点的一些属性 - 加入到文档中   流程中涉及的一点方法:   - 创建元素:d ...

  6. jQuery基础--选择器

    2. 选择器 2.1. 什么是jQuery选择器 jQuery选择器是jQuery为我们提供的一组方法,让我们更加方便的获取到页面中的元素.注意:jQuery选择器返回的是jQuery对象. jQue ...

  7. webform(九)——JQuery基础(选择器、事件、DOM操作)

    JQuery -- 一个js函数包 一.选择器 1.基本选择器 ①id选择器:#       ②class选择器:.       ③标签名选择:标签名 ④并列选择:用,隔开          ⑤后代选 ...

  8. Jquery | 基础 | 慕课网 | 层级选择器

    选择器中的层级选择器处理关系类型: 子元素 后代元素 兄弟元素 相邻元素 <!DOCTYPE html> <html> <head> <meta http-e ...

  9. jquery基础知识汇总

    jquery基础知识汇总 一.简介 定义 jQuery创始人是美国John Resig,是优秀的Javascript框架: jQuery是一个轻量级.快速简洁的javaScript库.源码戳这 jQu ...

随机推荐

  1. 零基础快速入门SpringBoot2.0教程 (二)

    一.SpringBoot2.x使用Dev-tool热部署 简介:介绍什么是热部署,使用springboot结合dev-tool工具,快速加载启动应用 官方地址:https://docs.spring. ...

  2. Java continue break 制作简单聊天室程序,屏蔽不文明语言,显示每句话聊天时间 for(;;) SimpleDateFormat("yyyy-MM-dd hh:mm:ss") equalsIgnoreCase

    package com.swift; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanne ...

  3. 第四篇、Swift_Podfile文件配置格式

    # Uncomment this line to define a global platform for your project platform :ios, '9.0' # Comment th ...

  4. 一分钟搭建好webpack通用坏境

    经常忘记一些常用的webpack配置,在这记录一下. webpack能用babel编译es5.能预编译.能加载静态资源(js/css/html).是一个很通用的开发坏境虽然不是很智能但是很好用很方便. ...

  5. JAVA 优先获取外网Ip,再获取内网Ip

    1.获取内网Ip private String getLocalhostIp(){ String hostAddress = ""; try { InetAddress addre ...

  6. SpringBoot日志输出至Logstash

    1.springboot项目pom.xml文件下添加如下配置 2.resources目录下创建logback-spring.xml文件 <?xml version="1.0" ...

  7. js数据结构与算法--递归

    递归,函数自己调用自己 return 返回值, 后面的代码不执行 function fn(num){ console.log(num) if(num == 0){ return; } fn(num-1 ...

  8. HDU 6228 tree 简单思维树dp

    一.前言 前两天沈阳重现,经过队友提点,得到3题的成绩,但是看到这题下意识觉得题目错了,最后发现实际上是题目读错了....GG 感觉自己前所未有的愚蠢了....不过题目读对了也是一道思维题,但是很好理 ...

  9. 后缀数组的使用心得——POJ2774 最长连续公共子串

    对于这道题,将两个字符串直接合并成为一个字符串,分别记录连个字符串结束的位置. 首先,应用黑暗圣典的模板,我们可以顺利得到height,rank,sa三个数组. 之后直接扫描1-n所有的位置,选出来一 ...

  10. IQueryable与IEnumerable区别

    前者可以延迟加载,即执行完后不马上执行数据库语句,用到再加载.