• jQuery基础及选择器


    JavaScript中所有不声明而直接使用的变量均为全局量,定义和使用函数时要注意闭包问题,一般将函数定义放到一个闭包中,变量均声明为局部变量。如

    (funciton(){

           var obj;//局部变量

           v1 = 123;//全局变量

    });

     

    jQuery库添加了三个全局变量:jQuery$两个相同,其实是jQuery.fn.init函数的对象

     

    添加jQuery库可以使用Google CDN内容分发网络(速度更快,可以根据使用的地点选择最近的服务器),可以加载其提供的jQuery.js,本地服务器不需要保存jQuery库源码。

    <script type="text/javascript" src="http://www.google.com/jsapi"></script>

    <script type="text/javascript">

                  google.load("jQuery","1.7.1")

    </script>

     

    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">

    <html xmlns="http://www.w3.org/1999/xhtml">

        <head>

           <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

           <title>jQuery选择器练习</title>

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

           <script type="text/javascript">

               //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 ModeFirefox才有作用

     

                  //如果要使用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元素.

                  $("<div><p>Hello!</p></div>").appendTo("body");

                  //jQuery( elements ):将一个或多个Dom对象封装为jQuery包装集,就是上面的DOM对象与JQuery包装集转换

                  //jQuery( callback ):$(document).ready()的简写方式$(function(){    alert("Hello!");});

                  //JQuery(selector[,context]):在指定范围内查找符合条件的JQuery包装集,context为查找范围,context可以是DOM对象集也可以是JQuery包装集

                  //在所有tr标签中查找idtext11元素的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");

                  //获取所有idtext11元素的同级且紧靠的classbutton11元素。text11button11在地位上属于同级关系

                  var button11_query=$("#text11 + .button11");

                  //获取与idtext11元素同级,且处于后面的所有classbutton11的元素

                  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元素中索引为1input元素,索引值从0算起

                  var input_query=$("input:eq(1)");

                  //查找所有input元素中索引大于0input元素(不包含索引为0的元素)

                  var input_query=$("input:gt(0)");

                  //查找所有input元素中索引小于2input元素(不包含索引为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查找所有不可见元素(如<script>标签不可见),或者typehidden的元素(对于使用visibility:hidden隐藏的元素不能获取)

                  //查找使用typehiddeninput元素

                  var input_query=$("input:hidden");

                  //查找所有可见的input元素

                  var input_query=$("input:visible");

                 

                  //===================6.属性过滤器 Attribute Filters===================

                  //查找所有含有id属性的input元素

                  var input_query=$("input[id]");

                  //查找name值为text11input元素

                  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值中含有extinput元素

                  var input_query=$("input[id][name*='ext']");

                 

                  //===================7.子元素过滤器 Child Filters===================

                  //查找父元素中子元素中排第2input元素

                  //:eq(index)只匹配一个元素,而为:nth-child每一个父元素匹配子元素

                  //:nth-child1开始的,而: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());

                  })

               });

               </script>

        </head>

        <body>

           <form name="form1" id="form1" class="form1" action="" method="post">

               <table name="table1" id="table1" class="table1">

                  <tr name="tr1" id="tr1" class="tr1">

                      <td name="td11" id="td11" class="td11" nowrap>

                      <input type="text" name="text11" id="text11" class="text11" value="text11"/>

                      <input type="button" name="button11" id="button11" class="button11" value="button11"/>

                      <input type="button" name="button12" id="button12" class="button11" value="button12"/>

                      </td>

                      <td name="td12" id="td12" class="td12">

                      <input type="text" name="text12" id="text12" class="text12" value="text12"/>

                      <input type="hidden" name="hidden12" id="hidden12" class="hidden12" value="hidden12"/>

                      </td>

                      <td name="td13" id="td13" class="td13">

                      <input type="text" name="text13" id="text13" class="text13" value="text13"/>

                      </td>

                  </tr>

                  <tr name="tr2" id="tr2" class="tr2">

                      <td name="td21" id="td21" class="td21">

                      <input type="password" name="password21" id="password21" class="password21" value="password21"/>

                      <input type="radio" name="radio21" id="radio21" class="radio21" value="radio21" checked/>

                      <input type="checkbox" name="checkbox21" id="checkbox21" class="checkbox21" value="checkbox21" checked/>

                      </td>

                      <td name="td22" id="td22" class="td22" nowrap>

                      <input type="submit" name="submit22" id="submit22" class="submit22" value="submit22"/>

                      <input type="image" name="image22" id="image22" class="image22" value="image22"/>

                      <input type="reset" name="reset22" id="reset22" class="reset22" value="reset22"/>

                      </td>

                      <td name="td23" id="td23" class="td23">

                      <input type="file" name="file23" id="file23" class="file23" value="file23"/>

                      </td>

                  </tr>

                  <tr name="tr3" id="tr3" class="tr3">

                      <td name="td31" id="td31" class="td31">

                      <select multiple="multiple" name="select31" size="3">

                         <option value="select311">option1</option>

                         <option value="select312">option2</option>

                         <option value="select313">option3</option>

                      </select></td>

                      <td name="td32" id="td32" class="td32"></td>

                      <td name="td33" id="td33" class="td33"></td>

                  </tr>

               </table>

           </form><h1>你好世界!</h1>

        </body>

    </html>

     

    其中源码引用:http://www.cnblogs.com/dreamhome/archive/2011/04/24/2025997.html,本人经过学习和对其补充!!

  • 相关阅读:
    poj1703--Find them, Catch them
    poj2828--Buy Tickets
    POJ 2594 Treasure Exploration(Floyd+最小路径覆盖)
    HDU
    二分图的一些性质
    HDU
    POJ 1659 Frogs' Neighborhood (Havel定理构造图)
    HDU
    HDU
    2018 Multi-University Training Contest 1
  • 原文地址:https://www.cnblogs.com/gaojun/p/2757111.html
Copyright © 2020-2023  润新知