jQuery基础及选择器

本网站用的阿里云ECS,推荐大家用。自己搞个学习研究也不错
JavaScript中所有不声明而直接使用的变量均为全局量,定义和使用函数时要注意闭包问题,一般将函数定义放到一个闭包中,变量均声明为局部变量。如
 
(funciton(){
 
      var obj;//局部变量
 
      v1 = 123;//全局变量
 
});
 
 
 
jQuery库添加了三个全局变量:jQuery,$两个相同,其实是jQuery.fn.init函数的对象
 
添加jQuery库可以使用Google CDN内容分发网络(速度更快,可以根据使用的地点选择最近的服务器),可以加载其提供的jQuery.js,本地服务器不需要保存jQuery库源码。
 

 

 
              google.load(“jQuery”,”1.7.1″)
 

 
 
 
jQuery用法
 
一、jQuery对象的方法:

var o = jQuery();
 
o.method();
 
二、jQuery自身方法:jQuery核心函数,Ajax,工具函数都是该用法
 
      jQuery.method();
 
 
 
jQuery核心函数,
 
 
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 
“http://www.w3.org/TR/html4/loose.dtd”>
 

 
   
 
     
 
      jQuery选择器练习
 
     
 
     
 
          //jQuery的文档加载后执行JavaScript方法
 
          //jQuery(function($){});全局使用jQuery,传递$参数,保证引用多个JavaScript库(如,Prototype)时不出变量冲突
 
          jQuery(function($) {
 
              //===================DOM对象与JQuery包装集===================
 
              //通过document.getElementById(),document.getElementsByName()及document.getElementsByTagName()等取的就是DOM对象或DOM对象集,前者取的是对象,后者取得DOM对象集
 
              var dom_obj = document.getElementById(“text11”);
 
              var dom_obj = document.getElementsByName(“text11”)[0];
 
              //var dom_obj = document.all[“text11”];//在Quirks Mode下Firefox才有作用
 
 
 
              //如果要使用JQuery提供的函数首先要构造JQuery包装集,通过$()返回的即是JQuery包装集(jQuery自定义的对象)
 
              /*
 
              * jQuery包装集“$”与”jQuery”一样都是调用如下函数返回
 
              * “$===jQuery =” function (selector, context) {
 
              *      return new jQuery.fn.init(selector, context, rootjQuery);
 
              * }
 
              */
 
              var jquery_obj = $(“#text11”);
 
              //返回是jQuery包装集对象,不是DOM对象
 
              //===================JQuery包装集与DOM对象互相转换===================
 
              //DOM对象不能使用JQuery属性方法,但DOM对象可以通过$()(这是jQuery一个核心函数)转换成JQuery包装集
 
              var htmlStr = $(document.getElementById(“text11”)).val();
 
              //JQuery包装集可以使用部分DOM对象的属性方法如.length,但也有个别属性方法不能使用如.value,可以获取对应DOM对象后进行操作
 
              //要想根据jQuery包装集对象得到DOM对象,有以下方法
 
              var dom_obj = $(“#text11”)[0];
 
              var dom_obj = $(“#text11”).get(0);
 
              var dom_obj = $(“#text11”).get()[0];
 
              var text11_dom = $(“#text11”)[0];
 
              //在each循环时或触发事件时的this也是DOM对象
 
              $(“#text11”).click(function() {             

                  this.value = “”;
 
              });
 
             

              //===================$符号在JQuery中代表对JQuery对象的引用,JQuery的核心方法有四个===================
 
              //jQuery(html[,ownerDocument]):根据HTML字符串动态创建Dom元素.
 
              $(“

Hello!

“).appendTo(“body”);
 
              //jQuery( elements ):将一个或多个Dom对象封装为jQuery包装集,就是上面的DOM对象与JQuery包装集转换
 
              //jQuery( callback ):$(document).ready()的简写方式$(function(){    alert(“Hello!”);});
 
              //JQuery(selector[,context]):在指定范围内查找符合条件的JQuery包装集,context为查找范围,context可以是DOM对象集也可以是JQuery包装集
 
              //在所有tr标签中查找id为text11元素的JQuery包装集
 
              var text11_query=$(“#text11″,”tr”);
 
             

              //===================jQuery选择器全解===================
 
              //jQuery选择器可以使用全部的CSS选择器,以及XPath选择器
 
             

              //===================1. 基础选择器 Basics===================
 
              //根据标签名进行选择
 
              var input_query=$(“input”);
 
              //根据id值选取
 
              var text11_query=$(“#text11”);
 
              //根据class值进行选取
 
              var text11_query=$(“.text11”);
 
              //同时选择多个符合条件的JQuery包装集,用”,”号分隔条件
 
              var text_query=$(“#text11,#text12”);
 
              //选择所有DOM元素
 
              var all_query=$(“*”);
 
             

              //===================2.层次选择器 Hierarchy===================
 
              //获取以tr标签作为上下文的id值为text11的元素
 
              var text11_query=$(“tr #text11”);
 
              //获取所有td标签下的所有直接input子元素
 
              var input_query=$(“td > input”);
 
              //获取所有id为text11元素的同级且紧靠的class为button11元素。text11与button11在地位上属于同级关系
 
              var button11_query=$(“#text11 + .button11”);
 
              //获取与id为text11元素同级,且处于后面的所有class为button11的元素
 
              var button11_query=$(“#text11~.button11”);
 
             

              //===================3.基本过滤器 Basic Filters===================
 
              //相当于CSS选择器中的伪类
 
              //获取第一个input元素
 
              var input_query=$(“input:first”);
 
              //获取最后一个input元素
 
              var input_query=$(“input:last”);
 
              //获取所有未被选中的input元素,仅对有checked属性的元素有效
 
              var input_query=$(“input:not(:checked)”);
 
              //获取所有input元素中偶数的元素,第一个input元素为1
 
              var input_query=$(“input:even”);
 
              //获取所有input元素中奇数的元素,第一个input元素为1
 
              var input_query=$(“input:odd”);
 
              //查找所有input元素中索引为1的input元素,索引值从0算起
 
              var input_query=$(“input:eq(1)”);
 
              //查找所有input元素中索引大于0的input元素(不包含索引为0的元素)
 
              var input_query=$(“input:gt(0)”);
 
              //查找所有input元素中索引小于2的input元素(不包含索引为2的元素)
 
              var input_query=$(“input:lt(2)”);
 
              //获取页面所有标题元素,等价于$(“h1, h2,h3,h4,h5,h6”)
 
              var h_query=$(“:header”);
 
              //获取所有正在执行动画效果的元素
 
              var animated_query=$(“:animated”);
 
             

              //===================4. 内容过滤器 Content Filters===================
 
              //查找所有html内容含有”你好世界!”的h1元素
 
              var h1_query=$(“h1:contains(‘你好世界!’)”);
 
              //获取所有不含子标签或html内容为空的td元素
 
              var td_query=$(“td:empty”);
 
              //查找所有含有input子元素的td元素
 
              var td_query=$(“td:has(input)”);
 
              //查找所有含有子标签或有html内容的td元素,与empty过滤器作用相反
 
              var td_query=$(“td:parent”);
 
             

              //===================5.可见性过滤器  Visibility Filters===================
 
              //hidden查找所有不可见元素(如标签不可见),或者type为hidden的元素(对于使用visibility:hidden隐藏的元素不能获取)
 
              //查找使用type为hidden的input元素
 
              var input_query=$(“input:hidden”);
 
              //查找所有可见的input元素
 
              var input_query=$(“input:visible”);
 
             

              //===================6.属性过滤器 Attribute Filters===================
 
              //查找所有含有id属性的input元素
 
              var input_query=$(“input[id]”);
 
              //查找name值为text11的input元素
 
              var input_query=$(“input[name=’text11′]”);
 
              //查找name值不等于text11的所有input元素
 
              var input_query=$(“input [name!=’text11′]”);
 
              //查找name值以text开头的input元素
 
              var input_query=$(“input[name^=’text’]”);
 
              //查找name值以11结尾的所有input元素
 
              var input_query=$(“input[name$=’11’]”);
 
              //查找name值中含有ext的所有input元素
 
              var input_query=$(“input[name*=’ext’]”);
 
              //查找所有含有id属性并且name值中含有ext的input元素
 
              var input_query=$(“input[id][name*=’ext’]”);
 
             

              //===================7.子元素过滤器 Child Filters===================
 
              //查找父元素中子元素中排第2的input元素
 
              //:eq(index)只匹配一个元素,而为:nth-child每一个父元素匹配子元素
 
              //:nth-child从1开始的,而:eq()是从0算起。
 
              var input_query=$(“input:nth-child(2)”);
 
              //查找父元素中第一个子元素是input元素的所有input
 
              var input_query=$(“input:first-child”);
 
              //查找父元素中最后一个子元素是input元素的所有input
 
              var input_query=$(“input:last-child”);
 
              ////查找父元素中子元素有且仅有一个是input元素的所有input
 
              var input_query=$(“input:only-child”);
 
             

              //===================8.表单选择器 Forms===================
 
              //查找所有input元素
 
              var input_query=$(“:input”);
 
              //查找所有文本框元素
 
              var text_query=$(“:text”);
 
              //查找所有密码框元素
 
              var password_query=$(“:password”);
 
              //查找所有复选框
 
              var checkbox_query=$(“:checkbox”);
 
              //查找所有提交按钮元素
 
              var submit_query=$(“:submit”);
 
              //查找所有图像域元素
 
              var image_query=$(“:image”);
 
              //查找所有重置按钮元素
 
              var reset_query=$(“:reset”);
 
              //查找所有按钮元素
 
              var button_query=$(“:button”);
 
              //查找所有文件域元素
 
              var file_query=$(“:file”);
 
             

              //===================9.表单过滤器 Form Filters===================
 
              //查找所有可用的input元素
 
              var input_query=$(“:input:enabled”);
 
              //查找所有不可用的input元素
 
              var input_query=$(“input:disabled”);
 
              //查找所有选中的单选复选框
 
              var input_query=$(“input:checked”);
 
              //查找所有选中的下拉框,该过滤器对于多选下拉框非常有用
 
              //当多选时,可返回所有选中项的值       

              $(“select”).click(function(){
 
                  var option_query=$(“:selected”);
 
                  alert($(this).val());
 
              })
 
          });
 
         
 
   
 
   
 
     

 
         
 
             
 
                 

 
                 

 
                 

 
             

 
             

 
                 

 
                 

 
                 

 
             

 
             

 
                 

 
                 

 
                 

 
             

 
         

 
                 
 
                 
 
                 
 
                 
 
                 
 
                 
 
                 
 
                 
 
                 
 
                 
 
                 
 
                 
 
                 
 
                 
 
                 
 
                 
 
                 
 
                 
 
                 
 
                 
 
                    option1
 
                    option2
 
                    option3
 
                 

 
     

你好世界!

 
   
 

jQuery 的详细介绍请点这里
jQuery 的下载地址请点这里

推荐阅读

jQuery权威指南 PDF版中文+配套源代码 http://www.linuxidc.com/Linux/2013-10/91059.htm

jQuery实战 中文PDF+源码 http://www.linuxidc.com/Linux/2013-09/90631.htm

《jQuery即学即用(双色)》 PDF+源代码 http://www.linuxidc.com/Linux/2013-09/90383.htm

jQuery完成带单选按钮的表格行高亮显示 http://www.linuxidc.com/Linux/2013-08/89407.htm

未经允许不得转载:演道网 » jQuery基础及选择器

赞 (0)
分享到:更多 ()

评论 0

评论前必须登录!

登陆 注册