>

会在元素的onload事件中绑定一个处理函数,对登

- 编辑:澳门博发娱乐官网 -

会在元素的onload事件中绑定一个处理函数,对登

最近用nodeclub实现股票的输入关键字自动补全股票信息进行搜索功能,原先用jQuery-ui,结果jQuery-ui库太大,所以考虑用其他插件,最终选择使用autocomplete.js,控件简单用着方便。留下记录

登录界面 login.jsp:

第四章 jQuery中的事件,第四章jQuery事件

  1.加载DOM

  jQuery中,在$(document).ready()方法内注册的事件,只要DOM就绪就会被执行,此时可能元素的关联文件未下载完。

  jQuery中的 load()方法,会在元素的onload事件中绑定一个处理函数。比如$(window).load(function(){...}),等价于JavaScript中的window.onload=function(){...},该方法需要等网页所有元素都加载完(包括管理文件)。

  2.事件绑定

  在文档装载完之后,可以为元素绑定事件来完成一些操作。可以使用bind()方法来对匹配元素进行特定的事件绑定。

  语法: bind(type,[data],fn);

图片 1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "; <html xmlns="; <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>4-2-3</title> <script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script> <link rel="stylesheet" type="text/css" href="../../css/style.css" /> <script type="text/javascript"> $(function(){ $("#panel h5.head").bind("click",function(){ var $content = $(this).next(); if($content.is(":visible")){ $content.hide(); }else{ $content.show(); } }) }) </script> </head> <body> <div id="panel"> <h5 class="head">什么是jQuery?</h5> <div class="content"> jQuery是继Prototype之后又一个优秀的JavaScript库,它是一个由 John Resig 创建于2006年1月的开源项目。jQuery凭借简洁的语法和跨平台的兼容性,极大地简化了JavaScript开发人员遍历HTML文档、操作DOM、处理事件、执行动画和开发Ajax。它独特而又优雅的代码风格改变了JavaScript程序员的设计思路和编写程序的方式。 </div> </div> </body> </html> View Code 图片 2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "; <html xmlns="; <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>4-2-4</title> <script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script> <link rel="stylesheet" type="text/css" href="../../css/style.css" /> <script type="text/javascript"> $(function(){ $("#panel h5.head").bind("mouseover",function(){ $(this).next().show(); }); $("#panel h5.head").bind("mouseout",function(){ $(this).next().hide(); }) }) </script> </head> <body> <div id="panel"> <h5 class="head">什么是jQuery?</h5> <div class="content"> jQuery是继Prototype之后又一个优秀的JavaScript库,它是一个由 John Resig 创建于2006年1月的开源项目。jQuery凭借简洁的语法和跨平台的兼容性,极大地简化了JavaScript开发人员遍历HTML文档、操作DOM、处理事件、执行动画和开发Ajax。它独特而又优雅的代码风格改变了JavaScript程序员的设计思路和编写程序的方式。 </div> </div> </body> </html> View Code

  3.合成事件

  jQuery中有2个合成事件,hover()方法与toggle()方法。

  hover() 语法:hover(enter,leave);  用来模拟光标悬停事件。

图片 3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "; <html xmlns="; <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>4-3-1</title> <script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script> <link rel="stylesheet" type="text/css" href="../../css/style.css" /> <script type="text/javascript"> $(function(){ $("#panel h5.head").hover(function(){ $(this).next().show(); },function(){ $(this).next().hide(); }) }) </script> </head> <body> <div id="panel"> <h5 class="head">什么是jQuery?</h5> <div class="content"> jQuery是继Prototype之后又一个优秀的JavaScript库,它是一个由 John Resig 创建于2006年1月的开源项目。jQuery凭借简洁的语法和跨平台的兼容性,极大地简化了JavaScript开发人员遍历HTML文档、操作DOM、处理事件、执行动画和开发Ajax。它独特而又优雅的代码风格改变了JavaScript程序员的设计思路和编写程序的方式。 </div> </div> </body> </html> View Code

  toggle()语法:toggle(fn1,fn2,...fnN); 用来模拟鼠标连续单击事件。

图片 4<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "; <html xmlns="; <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>4-3-3</title> <script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script> <link rel="stylesheet" type="text/css" href="../../css/style.css" /> <script type="text/javascript"> $(function(){ $("#panel h5.head").toggle(function(){ $(this).next().toggle(); },function(){ $(this).next().toggle(); }) }) /*$(function(){ $("#panel h5.head").click(function(){ $(this).next().toggle(); }) })*/ </script> </head> <body> <div id="panel"> <h5 class="head">什么是jQuery?</h5> <div class="content"> jQuery是继Prototype之后又一个优秀的JavaScript库,它是一个由 John Resig 创建于2006年1月的开源项目。jQuery凭借简洁的语法和跨平台的兼容性,极大地简化了JavaScript开发人员遍历HTML文档、操作DOM、处理事件、执行动画和开发Ajax。它独特而又优雅的代码风格改变了JavaScript程序员的设计思路和编写程序的方式。 </div> </div> </body> </html> View Code

  4.事件冒泡

  意思就是说,页面上有多个元素响应同一个事件。事件会按照DOM的层次结构像水泡一样不断往上至顶。

图片 5<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "; <html xmlns="; <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>4-4-1</title> <style type="text/css"> * { margin: 0; padding: 0; } body { font-size: 13px; line-height: 130%; padding: 60px; } #content { width: 220px; border: 1px solid #0050D0; background: #96E555; } span { width: 200px; margin: 10px; background: #666666; cursor: pointer; color: white; display: block; } p { width: 200px; background: #888; color: white; height: 16px; } </style> <script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { // 为span元素绑定click事件 $('span').bind("click", function () { var txt = $('#msg').html() + "<p>内层span元素被点击.<p/>"; $('#msg').html(txt); }); // 为div元素绑定click事件 $('#content').bind("click", function () { var txt = $('#msg').html() + "<p>外层div元素被点击.<p/>"; $('#msg').html(txt); }); // 为body元素绑定click事件 $("body").bind("click", function () { var txt = $('#msg').html() + "<p>body元素被点击.<p/>"; $('#msg').html(txt); }); }) </script> </head> <body> <div id="content"> 外层div元素 <span>内层span元素</span> 外层div元素 </div> <div id="msg"> </div> </body> </html> View Code

  停止冒泡

图片 6<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "; <html xmlns="; <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Panel</title> <style type="text/css"> * { margin: 0; padding: 0; } body { font-size: 13px; line-height: 130%; padding: 60px; } #content { width: 220px; border: 1px solid #0050D0; background: #96E555; } span { width: 200px; margin: 10px; background: #666666; cursor: pointer; color: white; display: block; } p { width: 200px; background: #888; color: white; height: 16px; } </style> <script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { // 为span元素绑定click事件 $('span').bind("click", function (event) { var txt = $('#msg').html() + "<p>内层span元素被点击.<p/>"; $('#msg').html(txt); event.stopPropagation(); // 阻止事件冒泡 }); // 为div元素绑定click事件 $('#content').bind("click", function (event) { var txt = $('#msg').html() + "<p>外层div元素被点击.<p/>"; $('#msg').html(txt); event.stopPropagation(); // 阻止事件冒泡 }); // 为body元素绑定click事件 $("body").bind("click", function () { var txt = $('#msg').html() + "<p>body元素被点击.<p/>"; $('#msg').html(txt); }); }) </script> </head> <body> <div id="content"> 外层div元素 <span>内层span元素</span> 外层div元素 </div> <div id="msg"> </div> </body> </html> View Code 图片 7<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "; <html xmlns="; <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>4-4-4</title> <style type="text/css"> * { margin: 0; padding: 0; } body { font-size: 13px; line-height: 130%; padding: 60px; } #content { width: 220px; border: 1px solid #0050D0; background: #96E555; } span { width: 200px; margin: 10px; background: #666666; cursor: pointer; color: white; display: block; } p { width: 200px; background: #888; color: white; height: 16px; } </style> <script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { // 为span元素绑定click事件 $('span').bind("click", function (event) { var txt = $('#msg').html() + "<p>内层span元素被点击.<p/>"; $('#msg').html(txt); return false; }); // 为div元素绑定click事件 $('#content').bind("click", function (event) { var txt = $('#msg').html() + "<p>外层div元素被点击.<p/>"; $('#msg').html(txt); return false; }); // 为body元素绑定click事件 $("body").bind("click", function () { var txt = $('#msg').html() + "<p>body元素被点击.<p/>"; $('#msg').html(txt); }); }) </script> </head> <body> <div id="content"> 外层div元素 <span>内层span元素</span> 外层div元素 </div> <div id="msg"> </div> </body> </html> View Code

  阻止默认行为

图片 8<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "; <html xmlns="; <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { $("#sub").bind("click", function (event) { var username = $("#username").val(); //获取元素的值 if (username == "") { //判断值是否为空 $("#msg").html("<p>文本框的值不能为空.</p>"); //提示信息 event.preventDefault(); //阻止默认行为 ( 表单提交 ) } }) }) </script> </head> <body> <form action="test.html"> 用户名:<input type="text" id="username" /> <br /> <input type="submit" value="提交" id="sub" /> </form> <div id="msg"> </div> </body> </html> View Code 图片 9<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "; <html xmlns="; <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { $("#sub").bind("click", function (event) { var username = $("#username").val(); //获取元素的值 if (username == "") { //判断值是否为空 $("#msg").html("<p>文本框的值不能为空.</p>"); //提示信息 return false; } }) }) </script> </head> <body> <form action="test.html"> 用户名:<input type="text" id="username" /> <br /> <input type="submit" value="提交" id="sub" /> </form> <div id="msg"> </div> </body> </html> View Code

  5.事件对象的属性

  jQuery对事件对象常用的属性进行了封装。

  (1)event.type 可以获取事件的类型

图片 10<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "; <html xmlns="; <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- 引入jQuery --> <script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script> <script> $(function () { $("a").click(function (event) { alert(event.type); //获取事件类型 return false; //阻止链接跳转 }); }) </script> </head> <body> <a href=' me .</a> </body> </html> View Code

  (2)event.target 可以获取出发事件的元素

图片 11<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "; <html xmlns="; <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- 引入jQuery --> <script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script> <script> $(function () { $("a[href= (event) { alert(event.target.href); //获取触发事件的<a>元素的href属性值 return false; //阻止链接跳转 }); }) </script> </head> <body> <a href=' me .</a> </body> </html> View Code

  (3)event.pageX和event.pageY 可以获取光标相对于页面的x坐标与y坐标。

图片 12<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "; <html xmlns="; <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- 引入jQuery --> <script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script> <script> $(function () { $("a").click(function (event) { alert("Current mouse position: " + event.pageX + ", " + event.pageY); //获取鼠标当前相对于页面的坐标 return false; //阻止链接跳转 }); }) </script> </head> <body> <a href=' me .</a> </body> </html> View Code

  (4)event.which 可以在鼠标单击事件中获取鼠标的左中右键,也可以获取键盘键。

图片 13<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "; <html xmlns="; <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- 引入jQuery --> <script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script> <script> $(function(){ $("a").mousedown(function(e){ alert(e.which) // 1 = 鼠标左键 left; 2 = 鼠标中键; 3 = 鼠标右键 return false;//阻止链接跳转 }) }) </script> </head> <body> <a href=' me .</a> </body> </html> View Code 图片 14<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "; <html xmlns="; <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <!-- 引入jQuery --> <script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script> <script> $(function () { $("input").keyup(function (e) { alert(e.which); }) }) </script> </head> <body> <input /> </body> </html> View Code

  6.移除事件

  unbind([type],[data])方法用来移除事件。

图片 15<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "; <html xmlns="; <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>4-6-2</title> <style type="text/css"> * { margin: 0; padding: 0; } body { font-size: 13px; line-height: 130%; padding: 60px; } p { width: 200px; background: #888; color: white; height: 16px; } </style> <script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { $('#btn').bind("click", function () { $('#test').append("<p>我的绑定函数1</p>"); }).bind("click", function () { $('#test').append("<p>我的绑定函数2</p>"); }).bind("click", function () { $('#test').append("<p>我的绑定函数3</p>"); }); $('#delAll').click(function () { $('#btn').unbind("click"); }); }) </script> </head> <body> <button id="btn"> 点击我</button> <div id="test"> </div> <button id="delAll"> 删除所有事件</button> </body> </html> View Code 图片 16<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "; <html xmlns="; <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Panel</title> <style type="text/css"> * { margin: 0; padding: 0; } body { font-size: 13px; line-height: 130%; padding: 60px; } p { width: 200px; background: #888; color: white; height: 16px; } </style> <script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { $('#btn').bind("click", myFun1 = function () { $('#test').append("<p>我的绑定函数1</p>"); }).bind("click", myFun2 = function () { $('#test').append("<p>我的绑定函数2</p>"); }).bind("click", myFun3 = function () { $('#test').append("<p>我的绑定函数3</p>"); }); $('#delTwo').click(function () { $('#btn').unbind("click", myFun2); }); }) </script> </head> <body> <button id="btn"> 点击我</button> <div id="test"> </div> <button id="delTwo"> 删除第二个事件</button> </body> </html> View Code

  one(type,[data],fn)方法可以为元素绑定处理函数,当处理函数触发一次后立即删除。

图片 17<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "; <html xmlns="; <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>4-6-4</title> <style type="text/css"> * { margin: 0; padding: 0; } body { font-size: 13px; line-height: 130%; padding: 60px; } p { width: 200px; background: #888; color: white; height: 16px; } </style> <script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { $('#btn').one("click", function () { $('#test').append("<p>我的绑定函数1</p>"); }).one("click", function () { $('#test').append("<p>我的绑定函数2</p>"); }).one("click", function () { $('#test').append("<p>我的绑定函数3</p>"); }); }) </script> </head> <body> <button id="btn"> 点击我</button> <div id="test"> </div> </body> </html> View Code

  7.模拟操作

  jQuery中可以使用trigger()方法完成模拟操作。

图片 18<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "; <html xmlns="; <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <style type="text/css"> * { margin: 0; padding: 0; } body { font-size: 13px; line-height: 130%; padding: 60px; } p { width: 200px; background: #888; color: white; height: 16px; } </style> <script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { $('#btn').bind("click", function () { $('#test').append("<p>我的绑定函数1</p>"); }).bind("click", function () { $('#test').append("<p>我的绑定函数2</p>"); }).bind("click", function () { $('#test').append("<p>我的绑定函数3</p>"); }); $('#btn').trigger("click"); }) </script> </head> <body> <button id="btn"> 点击我</button> <div id="test"> </div> </body> </html> View Code 图片 19<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "; <html xmlns="; <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <style type="text/css"> * { margin: 0; padding: 0; } body { font-size: 13px; line-height: 130%; padding: 60px; } p { width: 200px; background: #888; color: white; height: 16px; } </style> <script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script> <script type="text/javascript"> $(function () { $('#btn').bind("myClick", function (event, message1, message2) { $('#test').append("<p>" + message1 + message2 + "</p>"); }); $('#btn').click(function () { $(this).trigger("myClick", ["我的自定义", "事件"]); }).trigger("myClick", ["我的自定义", "事件"]); }) </script> </head> <body> <button id="btn"> 点击我</button> <div id="test"> </div> </body> </html> View Code

 PS:参考文献《锋利的jQuery》

详解Jquery 选择器,详解jquery选择器

1   概述

 本篇文章为穿插文章,ASP.NET MVC系列目前写了如下几篇:

  • 详解google Chrome浏览器(理论篇)
  • 详解Google Chrome浏览器(操作篇)(上)
  • 详解Google Chrome浏览器(操作篇)(下)
  • .NET 开发环境搭建
  • 详解ASP.NET MVC 路由
  • 详解ASP.NET MVC 控制器

写该篇文章主要目的是为接下来的ASP.NET MVC 系列,如页面之间传值,ADO.NET和EF,Bootstrap等打基础,本篇文章比较基础,但比较全面,非常适合基础快速扫盲。

2   基本选择器

2.1  一览表

图片 20

2.2  示例代码

 (1)id选择器

将id为lastname元素的背景色设置为蓝色

图片 21 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $("#lastname").css("background-color", "#0000ff"); 11 12 }); 13 14 </script> 15 </head> 16 <body> 17 <div id="lastname">id为lastname的选择器</div> 18 </body> 19 </html> View Code

(2)类选择器

将class为intro元素的背景色设置为蓝色

图片 22 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $(".intro").css("background-color", "#0000ff"); 11 12 }); 13 14 </script> 15 </head> 16 <body> 17 <div class="intro">div选择器测试</div> 18 <p class="intro">p测试选择器</p> 19 </body> 20 </html> View Code

(3)元素选择器

将p元素的背景色设置为蓝色

图片 23 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $("p").css("background-color", "#0000ff"); 11 12 }); 13 14 </script> 15 </head> 16 <body> 17 <p>p测试选择器</p> 18 </body> 19 </html> View Code

(4)所有选择器

遍历body下的所有元素,将其背景色设置为蓝色

图片 24 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $("body *").css("background-color", "#0000ff"); 11 12 }); 13 14 </script> 15 </head> 16 <body> 17 <div>选择器测试</div> 18 <p>p元素</p> 19 </body> 20 </html> View Code

(5)并列选择器

 将元素p和元素div背景色设置为蓝色

图片 25 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $("p,div").css("background-color", "#0000ff"); 11 12 }); 13 14 </script> 15 </head> 16 <body> 17 <div>选择器测试</div> 18 <p>p元素</p> 19 </body> 20 </html> View Code

3   层次选择器

3.1 一览表

图片 26

3.2 示例代码

(1)parent>child(直系子元素,即直接下一代元素)

设置div元素的第一代元素为span的元素的背景色为蓝色

图片 27 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $("div>span").css("background-color", "#0000ff"); 11 12 }); 13 14 </script> 15 </head> 16 <body> 17 <div> 18 <span>DOM树,DIV第一代</span> 19 <p> 20 <span>DOM树,第二代</span> 21 </p> 22 <span>DOM树,DIV第一代</span> 23 </div> 24 </body> 25 </html> View Code

测试结果:

图片 28

结果分析:根据如上代码画出的DOM树如下,可以很清晰看出,DIV有三个直接孩子,即第一代span,p,span,代码中div>span,表示div下的直接第一代span,因此,测试结果就不难理解了。

图片 29

(2)prev+next(prev元素的下一个兄弟元素,等同于next()方法)

设置类为intro元素的下一个兄弟元素背景色为蓝色

图片 30 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $(".intro+div").css("background-color", "#0000ff"); 11 //$(".intro").next("div").css("background-color", "#0000ff"); 12 13 }); 14 15 </script> 16 </head> 17 <body> 18 <div>1</div> 19 <p class="intro">2</p> 20 <div>3</div> 21 <div>4</div> 22 <span class="item">5</span> 23 <div>6</div> 24 </body> 25 </html> View Code

测试结果:

图片 31

结果分析:根据如上代码画出DOM树如下图,测试结果显而易见。

图片 32

(3)prev~siblings(prev元素的所有兄弟元素,等同于nextAll()方法)

 设置类为intro元素之后的所有兄弟元素为div元素的背景色为蓝色

图片 33 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $(".intro~div").css("background-color", "#0000ff"); 11 }); 12 13 </script> 14 </head> 15 <body> 16 <div>G0</div> 17 <div class="intro">G1</div> 18 <div>G2</div> 19 <span>G3</span> 20 <div>G4</div> 21 </body> 22 </html> View Code

测试结果:

图片 34

分析测试结果:根据如上代码画出DOM树如下图,测试结果显而易见。

图片 35

4   过滤选择器

4.1 基本过滤选择器

4.1.1  一览表

图片 36

4.1.2  代码示例

(1):first(选取第一个元素)

图片 37 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $("span:first").css("background-color", "#0000ff"); 11 }); 12 13 </script> 14 </head> 15 <body> 16 <span>G1</span> 17 <span>G2</span> 18 <span>G3</span> 19 </body> 20 </html> View Code

测试结果:

图片 38

(2):last(选取最后一个元素)

图片 39 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $("span:last").css("background-color", "#0000ff"); 11 }); 12 13 </script> 14 </head> 15 <body> 16 <span>G1</span> 17 <span>G2</span> 18 <span>G3</span> 19 </body> 20 </html> View Code

测试结果:

图片 40

(3):not(取非元素)

图片 41 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $("div:not(.wrap)").css("background-color", "#0000ff"); 11 }); 12 13 </script> 14 </head> 15 <body> 16 <div>G1</div> 17 <div class="wrap">G2</div> 18 </body> 19 </html> View Code

但是,请注意下面的代码:当G1所在div和G2所在div是父子关系时,G1和G2都会变色。

图片 421 <div> 2     G1    <div class="wrap">G2</div> 3 </div> View Code

(4):even(索引为偶数,索引 index从0开始)

图片 43 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $("div:even").css("background-color", "#0000ff"); 11 }); 12 13 </script> 14 </head> 15 <body> 16 <div>G1</div> 17 <div>G2</div> 18 <div>G3</div> 19 <div>G4</div> 20 </body> 21 </html> View Code

测试结果:

图片 44

(5):odd(索引为奇数,索引 index从0开始)

图片 45 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $("div:odd").css("background-color", "#0000ff"); 11 }); 12 13 </script> 14 </head> 15 <body> 16 <div>G1</div> 17 <div>G2</div> 18 <div>G3</div> 19 <div>G4</div> 20 </body> 21 </html> View Code

测试结果:

图片 46

(6):eq(x)(取指定索引的元素,x为从0开始的索引)

设置索引为2的div元素背景为蓝色

图片 47 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $("div:eq(2)").css("background-color", "#0000ff"); 11 }); 12 13 </script> 14 </head> 15 <body> 16 <div>G1</div> 17 <div>G2</div> 18 <div>G3</div> 19 <div>G4</div> 20 </body> 21 </html> View Code

测试结果:

图片 48

(7):lt(x))(取小于指定索引的元素,x为从0开始的索引)

图片 49 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $("div:lt(2)").css("background-color", "#0000ff"); 11 }); 12 13 </script> 14 </head> 15 <body> 16 <div>G1</div> 17 <div>G2</div> 18 <div>G3</div> 19 <div>G4</div> 20 </body> 21 </html> View Code

测试结果:

图片 50

(8):gt(x))(取大于指定索引的元素,x为从0开始的索引)

图片 51 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $("div:gt(2)").css("background-color", "#0000ff"); 11 }); 12 13 </script> 14 </head> 15 <body> 16 <div>G1</div> 17 <div>G2</div> 18 <div>G3</div> 19 <div>G4</div> 20 </body> 21 </html> View Code

测试结果:

图片 52

(8):header(取h1-h6标题元素)

图片 53 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $(":header").css("background-color", "#0000ff"); 11 }); 12 13 </script> 14 </head> 15 <body> 16 <h1>测试H1标题</h1> 17 <div>G1</div> 18 <div>G2</div> 19 <div>G3</div> 20 <h2>测试h2标题</h2> 21 <h3>测试h3标题</h3> 22 <h4>测试h4标题</h4> 23 <div>G4</div> 24 <h5>测试h5标题</h5> 25 <h6>测试h6标题</h6> 26 </body> 27 </html> View Code

测试结果:

图片 54

(9):animated(所有动画元素)

图片 55 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 function aniDiv() { 11 $("#box").animate({ width: 300 }, "slow"); 12 $("#box").animate({ width: 100 }, "slow", aniDiv); 13 } 14 aniDiv(); 15 $(".btn1").click(function () { 16 $(":animated").css("background-color", "#0000ff"); 17 }); 18 }); 19 20 </script> 21 <style> 22 div { 23 background: #98bf21; 24 height: 40px; 25 width: 100px; 26 position: relative; 27 margin-bottom: 5px; 28 } 29 </style> 30 </head> 31 <body> 32 <div></div> 33 <div id="box"></div> 34 <div></div> 35 <button class="btn1">Mark animated element</button> 36 </body> 37 </html> View Code

测试结果:

 图片 56

4.2 内容过滤选择器

4.2.1 一览表

图片 57

4.2.2 示例代码

(1):contains(text)(取包含text文本的元素)

图片 58 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $('div:contains("G2")').css("background-color", "#0000ff"); 11 }); 12 13 </script> 14 15 </head> 16 <body> 17 <div>G1</div> 18 <div>G2</div> 19 <div>G3</div> 20 </body> 21 </html> View Code

测试结果:

图片 59

(2):empty(取不包含子元素或文本为空的元素)

图片 60 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $('div:empty').html('没有内容'); 11 }); 12 13 </script> 14 15 </head> 16 <body> 17 <div>G1</div> 18 <div>G2</div> 19 <div>G3</div> 20 <div></div> 21 </body> 22 </html> View Code

测试结果:

图片 61

(3) :has(selector)(取选择器匹配的元素)

即使span不是div的直系子元素,也会生效

图片 62 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 // 为包含span元素的div添加边框 11 $('div:has(span)').css('border', '1px solid #000'); 12 }); 13 14 </script> 15 16 </head> 17 <body> 18 <div> 19 <h2> 20 A     <span>B</span> 21 </h2> 22 </div> 23 </body> 24 </html> View Code

测试结果:

图片 63

(4):parent(取包含子元素或文本的元素)

图片 64 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $('ol li:parent').css('border', '1px solid #000'); 11 }); 12 13 </script> 14 15 </head> 16 <body> 17 <ol> 18 <li></li> 19 <li>A</li> 20 <li></li> 21 <li>D</li> 22 </ol> 23 </body> 24 </html> View Code

测试结果:

图片 65

4.3 可见性过滤选择器

4.3.1 一览表

图片 66

4.3.2 示例代码

(1):hidden(取不可见的元素)

匹配display:none,<input type="hidden" />,visibility:hidden,capacity:0元素

图片 67 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $('div:hidden').show(500); 11 alert($('input:hidden').val()); 12 }); 13 </script> 14 <style type="text/css"> 15 div         16 { 17 margin: 10px; 18 width: 200px; 19 height: 40px; 20 border: 1px solid #FF0000; 21 display:block; 22 } 23 24 .hid-1         25 { 26 display: none; 27 } 28 29 .hid-2         30 { 31 visibility: hidden; 32 } 33 34 </style> 35 </head> 36 <body> 37 <div class="hid-1">display: none</div> 38 <div class="hid-2">visibility: hidden</div> 39 <input type="hidden" value="hello" /> 40 </body> 41 </html> View Code

测试结果:

图片 68

(2):visible(取可见的元素)

图片 69 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $('div:visible').css("background-color", "#0000ff"); 11 }); 12 13 </script> 14 15 </head> 16 <body> 17 <div style="display:none">G1</div> 18 <div>G2</div> 19 <div style="display:none">G3</div> 20 <div>G4</div> 21 22 </body> 23 </html> 24 25 26 View Code

测试结果:

图片 70

4.4 属性过滤选择器

4.4.1 一览表

图片 71

4.4.2 代码示例

(1)[attribute](取拥有attribute属性的元素)

图片 72 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $('div[class]').css("background-color", "#0000ff"); 11 }); 12 13 </script> 14 15 </head> 16 <body> 17 <div>G1</div> 18 <div>G2</div> 19 <div>G3</div> 20 <div class="div4">G4</div> 21 22 </body> 23 </html> 24 25 26 View Code

测试结果:

图片 73

(2)[attribute = value](取attribute属性值等于value)

图片 74 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $('div[class=div3]').css("background-color", "#0000ff"); 11 }); 12 13 </script> 14 15 </head> 16 <body> 17 <div>G1</div> 18 <div>G2</div> 19 <div class="div3">G3</div> 20 <div class="div4">G4</div> 21 22 </body> 23 </html> 24 25 26 View Code

测试结果:

图片 75

(3) [attribute != value](取attribute属性值不等于value的元素)

图片 76 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $('div[class!=div3]').css("background-color", "#0000ff"); 11 }); 12 13 </script> 14 15 </head> 16 <body> 17 <div>G1</div> 18 <div>G2</div> 19 <div class="div3">G3</div> 20 <div class="div4">G4</div> 21 22 </body> 23 </html> 24 25 26 View Code

测试结果:

图片 77

(4)[attribute $= value](attribute属性值以value结束)

图片 78 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $('[id$=div]').css("background-color", "#0000ff"); 11 }); 12 13 </script> 14 15 </head> 16 <body> 17 <div id="first_div">G1</div> 18 <div id="second_div">G2</div> 19 <div class="div3" title="3div">G3</div> 20 <div class="div4">G4</div> 21 22 </body> 23 </html> View Code

测试结果:

图片 79

(5))[attribute^= value](attribute属性值以value开始)

图片 80 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $('[id^=first]').css("background-color", "#0000ff"); 11 }); 12 13 </script> 14 15 </head> 16 <body> 17 <div id="first_div">G1</div> 18 <div id="second_div">G2</div> 19 <div class="div3" title="3div">G3</div> 20 <div class="div4">G4</div> 21 22 </body> 23 </html> 24 25 26 View Code

测试结果:

图片 81

(6)[attribute *= value](attribute属性值包含value值)

图片 82 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $('[id*=first]').css("background-color", "#0000ff"); 11 }); 12 13 </script> 14 15 </head> 16 <body> 17 <div id="first_div">G1</div> 18 <div id="second_div">G2</div> 19 <div class="div3" title="3div">G3</div> 20 <div class="div4">G4</div> 21 22 </body> 23 </html> View Code

测试结果:

图片 83

注释:在属性选择器中,^$符号和正则表达式的开始结束符号表示的含义是一致的,*模糊匹配,类似于sql中的like '%str%'。

(7)[selector1][selector2](复合型属性过滤器,同时满足多个条件)

图片 84 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $('div[class=div3][title=3div]').css("background-color", "#0000ff"); 11 }); 12 13 </script> 14 15 </head> 16 <body> 17 <div>G1</div> 18 <div>G2</div> 19 <div class="div3" title="3div">G3</div> 20 <div class="div4">G4</div> 21 22 </body> 23 </html> 24 25 26 View Code

测试结果:

图片 85

4.5 子元素过滤选择器

4.5.1 一览表

图片 86

4.5.2 代码示例

(1)first-child(表示匹配的第一个元素)和last-child(表示匹配的最后一个子元素)

 需要大家注意的是,:fisrst和:last返回的都是单个元素,而:first-child和:last-child返回的都是集合元素。举个 例子:div:first返回的是整个DOM文档中第一个div元素,而div:first-child是返回所有div元素下的第一个元素合并后的集 合。

图片 87 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $("div:first-child").css("background-color", "#B2E0FF"); 11 $("div:last-child").css("background-color", "red"); 12 }); 13 </script> 14 </head> 15 <body> 16 <div> 17 <div>1</div> 18 <div>2</div> 19 <p>3</p> 20 </div> 21 <div>4</div> 22 <div>last</div> 23 </body> 24 </html> View Code

测试结果:

图片 88

(3)only-child(当某个元素有且仅有一个子元素时,:only-child才会生效)

图片 89 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $("div:only-child").css("background-color", "red"); 11 }); 12 </script> 13 </head> 14 <body> 15 <div> 16 <div>1</div> 17 <div>2</div> 18 <p>3</p> 19 </div> 20 <div>4</div> 21 <div>last 22 <div>ddd</div> 23 </div> 24 </body> 25 </html> View Code

测试结果:

图片 90

(4)nth-child

看到这个就想起英文单词里的,fourth, fifth, sixth……,nth表示第n个,:nth-child就表示第n个child元素。要注意的是,这儿的n不像eq(x)、gt(x)或lt(x)是从 0开始的,它是从1开始的,英文里好像也没有zeroth这样的序号词吧。

:nth-child有三种用法:

1) :nth-child(x),获取第x个子元素
2) :nth-child(even)和:nth-child(odd),从1开始,获取第偶数个元素或第奇数个元素

3) :nth-child(xn+y),x>=0,y>=0。例如x = 3, y = 0时就是3n,表示取第3n个元素(n>=0)。实际上xn+y是上面两种的通项式。(当x=0,y>=0时,等同于:hth- child(x);当x=2,y=0时,等同于nth-child(even);当x=2,y=1时,等同于:nth-child(odd))

4.6 表单对象属性过滤选择器

4.6.1 一览表

图片 91

4.6.2 代码示例

(1):enabled和:disabled(取可用或不可用元素)

:enabled和:diabled的匹配范围包括input, select, textarea

图片 92 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $(':enabled').css('border', '1px solid #FF0000'); 11 $(':disabled').css('border', '1px solid #0000FF'); 12 }); 13 14 </script> 15 16 </head> 17 <body> 18 <div> 19 <input type="text" value="可用的文本框" /> 20 </div> 21 <div> 22 <input type="text" disabled="disabled" value="不可用的文本框" /> 23 </div> 24 <div> 25 <textarea disabled="disabled">不可用的文本域</textarea> 26 </div> 27 <div> 28 <select disabled="disabled"> 29 <option>English</option> 30 <option>简体中文</option> 31 </select> 32 </div> 33 </body> 34 </html> View Code

测试结果:

图片 93

(2):checked(取选中的单选框或复选框元素)

图片 94 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $(".btn1").click(function () { 11 $(":checked").hide(); 12 }); 13 }); 14 </script> 15 16 </head> 17 <body> 18 <input type="radio" name="sex" value="male" checked="checked" /> Male 19 <br /> 20 <input type="radio" name="sex" value="female" /> Female 21 <br /> 22 I have a bike: 23 <input type="checkbox" name="vehicle" value="Bike" /> 24 <br /> 25 I have a car: 26 <input type="checkbox" name="vehicle" value="Car" checked="checked" /> 27 <br /> 28 I have an airplane: 29 <input type="checkbox" name="vehicle" value="Airplane" /> 30 <button class="btn1">Hide Checked Options</button> 31 32 </body> 33 </html> View Code

(3):selected(取下拉列表被选中的元素)

图片 95 1 <html> 2 <head> 3 <script type="text/javascript" src="/jquery/jquery.js"></script> 4 <script type="text/javascript"> 5 $(document).ready(function(){ 6 $(".btn1").click(function(){ 7 $(":selected").hide(); 8 }); 9 }); 10 </script> 11 </head> 12 <body> 13 14 <select multiple="multiple"> 15 <option>Volvo</option> 16 <option selected="selected">Saab</option> 17 <option>Mercedes</option> 18 <option>Audi</option> 19 </select> 20 <br /> 21 <button class="btn1">Hide Selected</button> 22 </body> 23 </html> View Code

5   表单选择器

5.1 一览表

图片 96

5.2 测试代码

(1):input()(选择所有input元素)

图片 97 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $(":input").css("background-color", "#B2E0FF"); 11 }); 12 </script> 13 </head> 14 <body> 15 <form action=""> 16 Name: <input type="text" name="user" /> 17 <br /> 18 Password: <input type="password" name="password" /> 19 <br /> 20 <button type="button">Useless Button</button> 21 <input type="button" value="Another useless button" /> 22 <br /> 23 <input type="reset" value="Reset" /> 24 <input type="submit" value="Submit" /> 25 <br /> 26 </form> 27 </body> 28 </html> View Code

测试结果:

图片 98

(2):text(选取所有text元素)

图片 99 1 <!DOCTYPE html> 2 3 <html> 4 <head> 5 <meta name="viewport" content="width=device-width" /> 6 <script src="~/Scripts/jquery-1.10.2.js"></script> 7 <title>JQuery函数</title> 8 <script type="text/javascript"> 9 $(document).ready(function () { 10 $(":text").css("background-color", "#B2E0FF"); 11 }); 12 </script> 13 </head> 14 <body> 15 <form action=""> 16 Name: <input type="text" name="user" /> 17 <br /> 18 Password: <input type="password" name="password" /> 19 <br /> 20 <button type="button">Useless Button</button> 21 <input type="button" value="Another useless button" /> 22 <br /> 23 <input type="reset" value="Reset" /> 24 <input type="submit" value="Submit" /> 25 <br /> 26 </form> 27 </body> 28 </html> View Code

测试结果:

图片 100

(3):select和:button

(4)其他表单元素比较简单,在此不列举。

6   参考文献

【01】

【02】

【03】

【04】

 

选择器,详解jquery选择器 1 概述 本篇文章为穿插文章,ASP.NET MVC系列目前写了如下几篇: 详解google Chrome浏览器(理论篇) 详解...

在每个匹配元素的外部插入新元素的方法

 本文为大家介绍下在每个匹配元素的外部插入新元素的方法,下面有个不错的示例,感兴趣的朋友可以参考下

一、方法 

 

wrap :把所有匹配的元素,用其他元素的结构化包裹起来 

 

wrapAll : 把所有匹配的元素,用单个元素包裹起来 

 

wrapInner : 把匹配元素的子类用html结构包裹起来 

 

二、实例 

 

(1)wrap 

代码如下:

<!DOCTYPE html> 

<html> 

<head> 

<meta charset="UTF-8"> 

<title>Insert title here</title> 

<script type="text/javascript" src="../jquery-2.0.0/jquery-2.0.0.js"></script> 

<script type="text/javascript"> 

$(function() { 

$("div a").wrap("<div id='id'></div>"); 

}); 

</script> 

</head> 

<body> 

<div> 

<a>liuxingyu</a> <a>liuxingyu</a> <a>liuxingyu</a> <a>liuxingyu</a> 

</div> 

</body> 

</html> 

 

firebug显示结果: 

 代码如下:

<!DOCTYPE html> 

<html> 

<head> 

<meta charset="UTF-8"> 

<title>Insert title here</title> 

<script src="../jquery-2.0.0/jquery-2.0.0.js" type="text/javascript"> 

<script type="text/javascript"> 

</head> 

<body> 

<div> 

<div id="id"> 

<a>liuxingyu</a> 

</div> 

<div id="id"> 

<a>liuxingyu</a> 

</div> 

<div id="id"> 

<a>liuxingyu</a> 

</div> 

<div id="id"> 

<a>liuxingyu</a> 

</div> 

</div> 

</body> 

</html> 

 

(2)wrapAll 

代码如下:

<!DOCTYPE html> 

<html> 

<head> 

<meta charset="UTF-8"> 

<title>Insert title here</title> 

<script type="text/javascript" src="../jquery-2.0.0/jquery-2.0.0.js"></script> 

<script type="text/javascript"> 

$(function() { 

$("div a").wrapAll("<div id='id'></div>"); 

}); 

</script> 

</head> 

<body> 

<div> 

<a>liuxingyu</a> <a>liuxingyu</a> <a>liuxingyu</a> <a>liuxingyu</a> 

</div> 

</body> 

</html> 

 

firebug显示结果: 

代码如下:

<!DOCTYPE html> 

<html> 

<head> 

<meta charset="UTF-8"> 

<title>Insert title here</title> 

<script src="../jquery-2.0.0/jquery-2.0.0.js" type="text/javascript"> 

<script type="text/javascript"> 

$(function() { 

$("div a").wrapAll("<div id='id'></div>"); 

}); 

</script> 

</head> 

<body> 

<div> 

<div id="id"> 

<a>liuxingyu</a> <a>liuxingyu</a> <a>liuxingyu</a> <a>liuxingyu</a> 

</div> 

</div> 

</body> 

</html> 

 

(3)wrapInner 

代码如下:

<!DOCTYPE html> 

<html> 

<head> 

<meta charset="UTF-8"> 

<title>Insert title here</title> 

<script src="../jquery-2.0.0/jquery-2.0.0.js" type="text/javascript"> 

<script type="text/javascript"> 

$(function() { 

$("div").wrapInner("<div id='id'></div>"); 

}); 

</script> 

</head> 

<body> 

<div> 

<a>liuxingyu</a> <a>liuxingyu</a> <a>liuxingyu</a> <a>liuxingyu</a> 

</div> 

</body> 

</html> 

 

firebug显示结果: 

代码如下:

<!DOCTYPE html> 

<html> 

<head> 

<meta charset="UTF-8"> 

<title>Insert title here</title> 

<script src="../jquery-2.0.0/jquery-2.0.0.js" type="text/javascript"> 

<script type="text/javascript"> 

$(function() { 

$("div").wrapInner("<div id='id'></div>"); 

}); 

</script> 

</head> 

<body> 

<div> 

<div id="id"> 

<a>liuxingyu</a> <a>liuxingyu</a> <a>liuxingyu</a> <a>liuxingyu</a> 

</div> 

</div> 

</body> 

</html> 

 

本文为大家介绍下在每个匹配元素的外部插入新元素的方法,下面有个不错的示例,感兴趣的朋友...

源码如下:

 

jquery中的事件 通过prepend添加的内容可以获取匹配事件不

你好!
1. 对于prepend()添加的元素,或者动态生成的元素,一般使用live()进行事件指定;2. 对于元素的toggle()事件,使用live()绑定事件时,可以通过先为其指定click()事件,然后在click()事件中设置该元素的toggle()事件,最后只要自动触发一次click()事件就可以了。这个过程大概是这样的:live()--->指定click()事件--->实现该元素的toggle()事件的逻辑(此时click()事件无法触发toggle()中的任何函数)--->trigger("click"),触发toggle()中的函数。
$("#list .message input").live("click",function(){ $(this).toggle( function(){ $(this).parent(this).after("<div>评论列表</div>"); }, function(){ $(this).parent(this).next(this).remove(); } ).trigger('click');});  

 

[java] view plain copy

jquery 事件中的事件问题

试一下在tr的事件里加一个判断,看<a>有没有焦点.有就返回.  

jQuery中的事件,第四章jQuery事件 1.加载DOM jQuery中,在$(document).ready()方法内注册的事件,只要DOM就绪就会被执行,此时可能元素的关...

 

 

<!doctype html>
<html lang="en-US">
<head>
  <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
  <title>Input Autocomplete Suggestions Demo</title>
  <link rel="stylesheet" type="text/css" media="all" href="style.css">
  <script type="text/javascript" src="js/codedata.js"></script>
  <script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
  <script type="text/javascript" src="js/jquery.autocomplete.min.js"></script>
  <script type="text/javascript" src="js/currency-autocomplete.js"></script>
</head>

  1. <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>  
  2. <%  
  3.    String path = request.getContextPath();  
  4.    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";  
  5. %>  
  6. <html>  
  7.     <head>  
  8.         <!-- Page title -->  
  9.         <title>imooc - Login</title>  
  10.         <!-- End of Page title -->  
  11.         <!-- Libraries -->  
  12.         <link type="text/css" href="css/login.css" rel="stylesheet" />      
  13.         <link type="text/css" href="css/smoothness/jquery-ui-1.7.2.custom.html" rel="stylesheet" />     
  14.         <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>  
  15.         <script type="text/javascript" src="js/easyTooltip.js"></script>  
  16.         <script type="text/javascript" src="js/jquery-ui-1.7.2.custom.min.js"></script>  
  17.         <!-- End of Libraries -->   
  18.     </head>  
  19.     <body>  
  20.     <div id="container">  
  21.         <div class="logo">  
  22.             <a href="#"><img src="logo.png" alt="" /></a>  
  23.         </div>  
  24.         <div id="box">  
  25.             <form action="dologin.jsp" method="post">  
  26.             <p class="main">  
  27.                 <label>用户名: </label>  
  28.                 <input name="username" value="" />   
  29.                 <label>密码: </label>  
  30.                 <input type="password" name="password" value="">    
  31.             </p>  
  32.             <p class="space">  
  33.                 <input type="submit" value="登录" class="login" style="cursor: pointer;"/>  
  34.             </p>  
  35.             </form>  
  36.         </div>  
  37.     </div>  
  38.     </body>  
  39. </html>  

本文由胜博发-操作发布,转载请注明来源:会在元素的onload事件中绑定一个处理函数,对登