• jquery


    jquery: javascript语法编写的函数,内部仍然调用javascript实现
      页面调用方式:
       1.引入jquery.js
        <script src="${pageContext.request.contextPath}/js/jquery-1.9.1.js"></script>
       2.在<script>标签中进行逻辑处理
        <script type="text/javascript">

      $(function(){

      });

      $(document).ready(function(){

      });
        </script>

    ready函数:$(document).ready(function(){});  简写方式:$(function(){});

    jquery内置函数:
     $.map(array,fn):对数组array中每个元素调用fn函数逐个进行处理,fn函数将处理返回,最后得到一个新数组.
      $(function(){
       var arr = [1,3,5,7,9];
       var arr2 = $.map(arr,function(item){return item*2;});
       alert(arr2);
      });
     $.map不能处理dictionary风格的数组.
     $.each(array,fn):对数组array每个函数调用fn函数进行处理,没有返回值.
      $(function(){
       var arr = {"tom":"汤姆","jerry":"杰瑞","lily":"莉莉"};
       $.each(arr,function(key,value){
        alert(key+":"+value);
       });
      });
      如果是普通风格的数组,则key的值是序号.
      还可以省略function函数,这时候用this可以得到遍历的当前元素:$.each(arr,function(){alert(this)});
     
    jquery对象:通过jquery包装dom对象后产生的对象
     $("#div").html()等价于:document.getElementById("div").innerHTML;
     $("#div").text()等价于:document.getElementById("div").innerText;
     
     将dom对象转换为jquery对象:$(domObj);
     将jquery对象转换为dom对象:jqueryObj[0]||jqueryObj.get(0)
     jquery样式:
     样式赋值:$("#div").css("background","red");
     样式取值:$("#div").css("background"); 
     以及:$("#div").val();$("#div").attr();
     
     $("#div").attr():设置和读取jquery未封装的属性
     $("#a").attr("href","www.baidu.com")
     使用removeAttr删除属性,删除的属性在原代码中看不到
     
    jquery选择器:
     $("#控件ID"):根据ID获取控件的jquery对象
     $("TagName"):根据标签名获取指定标签名的jquery对象
     $("body *"):选择body下的所有控件
     
     css选择器:同事选择拥有样式的多个元素:
      $(".myClass")
     多条件选择器:
      $("p,div,span.menuitem"):同时选择p标签,div标签和拥有menuitem样式的span标签元素
      注意:选择器中的空格不能多不能少
     层次选择器:
      (1):$("div li"):获取div下的所有li元素(后代,子,子的子)
      (2):$("div>li"):获取div下的直接li子元素
      (3):$(".menuitem+div")获取样式名为menuitem之后的第一个div元素
      (3):$(".menuitem~div")获取样式名为menuitem之后的所有的div元素
      
    jquery隐式迭代:
     $(function(){
      $("#bt").mouseover(function(){
       alert("鼠标上移事件");
      });
     });
     
    jquery节点遍历:
     next()方法用于获取节点之后的第一个同辈元素.
     nextAll()方法用于获取节点之后的所有同辈元素.
     siblings()方法用于获取所有同辈元素
     
    jquery链式编程:
     $(this).css("background","red").siblings().css("background","white");
     
    jquery基本过滤选择器:
     :first 选取第一个元素 $("div:first")
     :last  选取最后一个元素 $("div:last")
     :not 选取不满足"选择器"条件的元素 $("input:not(.myClass)")选取样式名不是myClass的<input>
     :even, :odd 选取索引是奇数, 偶数的元素
     :eq(索引序号), :gt(索引序号), :lt(索引序号)选取索引等于,大于,小于索引序号的元素$("input:lt(1)")
     $(":header") 选取所有的h1...h6的元素
     $("div:animated") 选取挣扎执行动画的<div>元素 
     
     属性过滤选择器:
      $("div[id]") 选取有id属性的<div>
      $("div[title=test]") 选取title属性为"test"的<div>
      $("div[title!=test]") 选取title属性不为"test"的<div>
     
     表单对象选择器:
      $("#form1:enabled") 选取ID为form1的表单内所有启用的元素
      $("#form1:disabled")选取ID为form1的表单内所有禁用的元素
      $("input:checked") 选取所有选中的元素(Radio,CheckBox)
      $("select:selected")选取所有选中的选项元素
     表单选择器:
      $(":input") 选取所有<input>,<textarea>,<select>,<button>元素
      $(":text") 选取所有单行文本框
      $(":password") 选取所有密码框.同理还有 :radio,:checkbox,:submit,:image,:reset,:button,:file,:hidden
      
    元素的each:
     $(function(){
      $("input[name=names]").click(function(){
       var names = $("input[name=names]:checked");
       var arr = new Array();
       names.each(function(key,value){
        arr[key]=$(value).val();
       });
       $("#msgNames").text("共选中"+names.length+"条:"+arr.join(","));
      });
     });
     <input type="checkbox" name="names" value="tom"/>tom
     <input type="checkbox" name="names" value="jim"/>jim
     <input type="checkbox" name="names" value="lily"/>lily
     <p id="msgNames"></p>
     
    动态创建dom节点:
     使用$("html字符串")来创建dom节点,并且返回一个jquery对象,然后调用append等方法将创建的节点添加到dom中
      var link = $("<a href='http://www.baidu.com'>百度</a>");
      $("div:first").append(link);
     $()创建的就是一个jquery对象,可以完全进行操作
      var link = $("<a href='http://www.baidu.com'>百度</a>");
      link.text("度娘");
      $("div:first").append(link);
      
     append方法用来在元素的末尾追加元素
     appendTo方法用来把指定元素添加到某个元素中  
     prepend方法用来在元素的开始添加元素
     after方法在元素之后添加元素(添加兄弟)
     before方法在元素之前添加元素(添加兄弟)
     
     remove()删除选择的节点
     remove方法的返回值是被删除的节点对象,还可以继续使用被删除的节点,比如重新添加到其他节点下
      var list = $("#ulSite li").remove();
      $("ulSite2 li").append(list);
     empty()是将节点清空
     替换节点:replaceWith()
      $("br").replaceWith("<hr/>"); 将<br/>替换为<hr/>
     包裹节点:wrap()
      $("b").wrap("<font color='red'></font>") 将所有粗体字红色显示
     字符串转换成数字类型:var a = parseInt("123");或者var a = parseInt("123",10);第二个参数代表10进制

    样式设置:(同时使用多个样式,空格隔开即可<div class="class1 class2"></div>)
     获取样式attr("class")
     设置样式attr("class","myClass")
     追加样式addClass("myClass")
     移除样式removeClass("myClass")
     切换样式(如果存在样式则去掉样式,如果不存在样式则添加样式)toggleClass("myClass")
     判断是否存在样式hasClass("myClass")
     
     body{filter:gray;}:该样式可以让网页变为黑白显示
     input{font-size:30px;}:页面中<input>标签使用该样式
     
    radio操作:
     取得radio的选中值:
      $("input[name=sex]:checked").val();
      <input type="radio" name="sex" value="男"/>男<br/>
      <input type="radio" name="sex" value="女"/>女
     设置radio的选中值:
      $("input[name=sex]").val(["女"]); 或者  $(":radio[name=sex]").val(["女"])
      注意:val()中的参数的[]不能省略
      
    jquery事件:
     click事件完整写法:$("#id").bind("click",function(){})
     hover(enterfn,leavefn):封装了mouseenter()和mouseleave()
     $("p").hover(function(){$(this).text("客观来了...");},function(){$(this).text("大爷慢走...");});
     阻止事件冒泡:e.stopPropagation()
     在匿名函数中加入参数e,执行e.stopPropagation()阻止冒泡
     $("#td").click(function(e){alert("td被点击了"),e.stopPropagation()});
     阻止事件默认行为:e.preventDefault()
     $("a").click(function(e){alert("超链接默认行为被阻止"),e.preventDefault()});

  • 相关阅读:
    关于李约瑟难题的思考
    《MDX解决方案(第2版)》实例数据部署过程
    在SQL SERVER 2008种使用表值参数
    解决了一个想了很久的问题
    发现可以在两个数据库中共享只读文件组
    java 包位置
    单元测试java
    Cannot determine build data storage root for project
    Vue——绑定值
    浪潮之巅第八章 — 没落的贵族(摩托罗拉)
  • 原文地址:https://www.cnblogs.com/liaren/p/jquery.html
Copyright © 2020-2023  润新知