热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

web前端之jQuery

介绍jQuery是一个快速、简洁的JavaScript框架,是继Prototype之后又一个优秀的JavaScript代码库(框架)于2006年1月由JohnResig发布。jQu

介绍

jQuery是一个快速、简洁的Javascript框架,是继Prototype之后又一个优秀的Javascript代码库(框架)于2006年1月由John Resig发布。jQuery设计的宗旨是“write Less,Do More”,即倡导写更少的代码,做更多的事情。它封装Javascript常用的功能代码,提供一种简便的Javascript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。

image

jQuery的核心特性可以总结为:具有独特的链式语法和短小清晰的多功能接口;具有高效灵活的CSS选择器,并且可对CSS选择器进行扩展;拥有便捷的插件扩展机制和丰富的插件。jQuery兼容各种主流浏览器,如IE 6.0+、FF 1.5+、Safari 2.0+、Opera 9.0+等。

jQuery对象和函数包含以下内容:



  • 选择器

  • 事件

  • 效果

  • 文档操作

  • 属性

  • CSS

  • AJAX

  • 遍历

  • 数据

  • DOM元素

  • 核心

详情可以查看 jQuery 中文文档


jQuery基本用法

jQuery对象就是通过jQuery包装DOM对象后产生的对象。jQuery对象是 jQuery独有的。如果一个对象是 jQuery对象,那么它就可以使用jQuery里的方法:例如$("#container").html()。

$("#container").html()的意思是:获取id值为 container的元素的html代码。其中 html()是jQuery里的方法。相当于: document.getElementById("container").innerHTML;

image

虽然 jQuery对象是包装 DOM对象后产生的,但是 jQuery对象无法使用 DOM对象的任何方法,同理 DOM对象也没不能使用 jQuery里的方法。

使用jQuery对象变量时需要在变量名前加$。

var $foo = jQuery对象

选择器

id选择器


$('#container')


标签选择器


$('div')


类名选择器


$('.customClass')


同时包含class=container和classcustomClass的元素


$('.container.customClass')


所有包含class=container的div标签


$('div.container')


选择所有元素


$('*')




div中的所有后代div


$('div div')


div中的所有儿子div


$('div > div')


div之后紧挨着的div


$('div + div')


div之后所有的兄弟div


$('div ~ div')




:first 第一个元素


$('p:first') // 第一个p标签


:last 最后一个元素


$('p:last') // 最后一个p标签


:eq(index) 第(index+1)个标签


$("ul li:eq(3)") // ul中的第四个li(index 从 0 开始)


:even(index) 所有索引为偶数的元素


$("p:even") // 索引为偶数的p元素


:odd 所有索引为奇数的元素


$("p:odd") // 索引为奇数的p元素


:gt(index) 所有大于索引值的元素


$("ul li:gt(3)") // ul中索引大于3的li元素


:lt(index) 所有小于索引值的元素


$("ul li:lt(3)") // ul中索引小于3的li元素


:not(元素选择器)


$("input:not(#name)") // 不包括id=name的所有input元素




具有attribute属性的元素


[attribute]


attribute属性值为value的元素


[attribute=value]


attribute属性不为value的元素


[attribute!=value]


attribute属性值以value结尾的元素


[attribute$=value]




表单筛选器

type=text的input元素


$(':text')


type=password的input元素


$(':password')


type=file的input元素


&(':file')


type=radio的input元素


$(':radio')


type=checkbox的input元素


$(':checkbox')


type=submit的input元素


$(':submit')


type=reset的input元素


$(':reset')


type=button的input元素


$(':button')


表单对象属性


:enabled

:disabled

:checked

:selected




选择器方法

$('#id').next() // 同级别的下一个元素
$('#id').nextAll() // 同级别的下面所有元素
$('#id').nextUntil('#stop') // 同级别往下到匹配位置为止的所有元素
$("#id").prev() // 同级别的上一个元素
$("#id").prevAll() // 同级别的上面所有元素
$("#id").prevUntil("#stop") // 同级别往上到匹配位置为止的所有元素
$("#id").parent() // 查找当前元素的父元素
$("#id").parents() // 查找当前元素的所有的父元素
$("#id").parentsUntil('#stop') // 查找当前元素的所有的父元素,直到遇到匹配的那个元素为止。
$("div").first() // 获取匹配的第一个元素
$("div").last() // 获取匹配的最后一个元素
$("div").not('#container') // 从匹配元素的集合中删除与指定表达式匹配的元素
$("div").has('p') // 保留包含特定后代的元素,去掉那些不含有指定后代的元素。
$("div").eq(3) // 索引值等于指定值的元素

文档操作


$(x).append(y) // 把y追加到x元素内部的最后
$(x).appendTo(y) // 把x追加到y元素内部的最后
$(x).prepend(y) // 把y元素添加到x内部的最前
$(x).prependTo(y) // 把x元素添加到y内部的最前
$(x).after(y) // 把y元素放到x的后面
$(x).insertAfter(y) // 把x元素放到y的后面
$(x).before(y) // 把y元素放到x前面
$(x).insertBefore(y) // 把x元素放到y前面
$('id').remove() // 从DOM中删除所有匹配的元素
$('id').empty() // 删除匹配的元素集合中所有的子节点



推荐阅读
  • XMLhttpREquest_Ajax技术总结之XmlHttpRequest
    Ajax1、 什么是ajax   ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • KVC:Key-valuecodingisamechanismforindirectlyaccessinganobject’sattributesandrelations ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 前景:当UI一个查询条件为多项选择,或录入多个条件的时候,比如查询所有名称里面包含以下动态条件,需要模糊查询里面每一项时比如是这样一个数组条件:newstring[]{兴业银行, ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • Ihavethefollowingonhtml我在html上有以下内容<html><head><scriptsrc..3003_Tes ... [详细]
  • 本文讨论了如何在codeigniter中识别来自angularjs的请求,并提供了两种方法的代码示例。作者尝试了$this->input->is_ajax_request()和自定义函数is_ajax(),但都没有成功。最后,作者展示了一个ajax请求的示例代码。 ... [详细]
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
  • 本文讨论了在使用Git进行版本控制时,如何提供类似CVS中自动增加版本号的功能。作者介绍了Git中的其他版本表示方式,如git describe命令,并提供了使用这些表示方式来确定文件更新情况的示例。此外,文章还介绍了启用$Id:$功能的方法,并讨论了一些开发者在使用Git时的需求和使用场景。 ... [详细]
  • 判断编码是否可立即解码的程序及电话号码一致性判断程序
    本文介绍了两个编程题目,一个是判断编码是否可立即解码的程序,另一个是判断电话号码一致性的程序。对于第一个题目,给出一组二进制编码,判断是否存在一个编码是另一个编码的前缀,如果不存在则称为可立即解码的编码。对于第二个题目,给出一些电话号码,判断是否存在一个号码是另一个号码的前缀,如果不存在则说明这些号码是一致的。两个题目的解法类似,都使用了树的数据结构来实现。 ... [详细]
  • Python中的PyInputPlus模块原文:https ... [详细]
  • 引号快捷键_首选项和设置——自定义快捷键
    3.3自定义快捷键(CustomizingHotkeys)ChemDraw快捷键由一个XML文件定义,我们可以根据自己的需要, ... [详细]
  • WPF之Binding初探
      初学wpf,经常被Binding搞晕,以下记录写Binding的基础。首先,盗用张图。这图形象的说明了Binding的机理。对于Binding,意思是数据绑定,基本用法是:1、 ... [详细]
  • 详解 Python 的二元算术运算,为什么说减法只是语法糖?[Python常见问题]
    原题|UnravellingbinaryarithmeticoperationsinPython作者|BrettCannon译者|豌豆花下猫(“Python猫 ... [详细]
author-avatar
vhjkg
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有