zoukankan      html  css  js  c++  java
  • Jquery 应用积累

    1、控制div显隐

    $("#id").show()表示display:block, 
    $("#id").hide()表示display:none; 
    $("#id").toggle()切换元素的可见状态。如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的。
     
    $("#id").css('display','none'); 
    $("#id").css('display','block'); 
    或 
    $("#id")[0].style.display = 'none'; 
    

    2、 设置span的文本

    $("#id").html("aaaaaaaa"); 
    $("#id").text("aaaaaaaa"); 
    

    3、判断<input type="checkbox" id="id"/>是否选中

    $("#id").attr("checked") == "checked"
    

    4、从后台获取在前台输出Html,以下为自己应用实例($("#id").append(data))

    HTML代码
    <tr>
                <td style="15%">筛选原料:</td>
                <td><span>验收日期段:</span>
                    <input type="text" name="model.Plan_dateFrom" value="<%:ViewData.Eval("dateStart") %>" id="Text1"/>
                    <span class="star">至</span>
                    <input type="text" name="model.Plan_dateTo" value="<%:ViewData.Eval("dateEnd") %>" id="Text2"/>
                    <input type="button" value="筛选" onclick="StuffQuery()"/> </td>
            </tr>
            <tr>
                  <td>原料信息:</td>
                  <td><div id="stuffContent"></div></td>
              </tr>
    
    JQuery代码
    //筛选原料
        function StuffQuery() {
            var dateStart = $("#dateStart").val();
            var dateEnd = $("#dateEnd").val();
            $.post("<%=path%>/ProdAndProc/SemiPlanStuff/GetStuffList",
                  { "dateStart": dateStart,
                      "dateEnd": dateEnd
                  },
                  function (responseText) {
                      var checkbox = responseText.checkbox;
                      $("#stuffContent").append(checkbox);
                  }, "json");
        }
    
    后台代码
    public ActionResult GeStuffList(string dateStart, string dateEnd)
            {
                string strResult = "";
                string strCheckBox = "";
                Hashtable result = new Hashtable();
                dateStart = dateStart == "" ? null : dateStart;
                dateEnd = dateEnd == "" ? null : dateEnd;
    
                if (dateStart == "" || dateEnd == null)
                {
                    strResult = "请选择验收时间段";
                    result.Add("message", strResult);
                    return Json(result);
                }
                else
                {
                    FoodStuffDetailBLL stbll = new FoodStuffDetailBLL();
                    DataTable dt = new DataTable();
                    dt = stbll.GetList(Session["CorpID"].ToString(), "", dateStart, dateEnd).Tables[0];
                    int count = 1;
                    foreach (DataRow row in dt.Rows)
                    {
                        string Code_ID = row["ID"].ToString();
                        string Code = row["stuff_batchNO"].ToString();
                        string Name = row["stuff_provider"].ToString();
                        strCheckBox = "<input type='checkbox' checked='checked' name='stuff' id='stuff" + count
                                    + "' value=" + Code + "_" + Name + "/><label class='hand' for='stuff" + count
                                    + "'>" + Code_ID + "</label>";
                        count++;
                    }
                }
                result.Add("message", strResult);
                result.Add("checkbox", strCheckBox);
                return Json(result);
            }
    View Code

     小结:$("#id").append(data);// 添加Html内容,不能用Text 或 Val

             当然用 after():会在该div中不断追加信息;

             如果用Text:显示加载的文本内容;

             如果用Val:点击链接第一次为空窗口,再点击才出现数据显示。

    5、删除元素中的内容

    (1)删除元素:$("#div1").remove();    (2)删除元素中内容jQuery empty();

    6、刷新页面

    (1)常用局部刷新方法:$.get方法,$.post方法,$.getJson方法,$.ajax方法

            $.get(”Default.aspx”, {id:”1″, page: “2″ }, function(data){ //这里是回调方法。返回data数据。});

            $.getScript(”http://jqueryajax.com/jquery.js”, function(){ $(”#go”).click(function(){//回调方法 }); });

            $.getJson(”Default.aspx”, {id:”1″, page: “2″ }, function(data){ //注意,这里返回的JSON数据引用方法为"data.info"});

            $.ajax({ type: "POST", url: "Default.aspx", data: "name=123",success: function(msg){ //回调方法 } });

    (2)刷新全页面

           window.location.reload();  刷新当前页面. 
           parent.location.reload();   刷新父亲对象(用于框架)
           opener.location.reload();   刷新父窗口对象(用于单开窗口)
           top.location.reload();        刷新最顶端对象(用于多开窗口)

    7、获取失去焦点:对于元素的焦点事件,使用jQuery的焦点函数focus(),blur()。

    8、对样式的操作

    [1]获取和设置class属性:$("#id").attr("class")获取class属性    $("#id").attr("class","divClass")设置class属性。

        $('input').attr("readonly",true)//将input元素设置为readonly
    [2]追加样式: $("#id").addClass("divClass2")
    [3]移除样式:$("#id").removeClass("divClass")单个移除   $(#id).removeClass("divClass divClass2")移除多个样式。
    [4]切换类名:$("#id").toggleClass("anotherClass") //重复切换anotherClass样式
    [5]判断是否含有某项样式:$("#id").hasClass("another")  等同于  $("#id").is(".another");
    [6]获取css样式中的样式:$("div").css("color") 设置color属性值. $(element).css(style)
    [7]设置单个样式:$("div").css("color","red")
    [8]设置多个样式:$("div").css({fontSize:"30px",color:"red"})     $("div").css("height","30px")==$("div").height("30px")
         $("div").css("width","30px")==$("div").width("30px")
    [9]offset()方法(只对可见元素有效):作用是获取元素在当前视窗的相对偏移,其中返回对象包含两个属性,即top和left 。
        var offset=$("div").offset();  var left=offset.left;  //获取左偏移     var top=offset.top; //获取右偏移
    [10]position()方法::作获取元素相对于最近的一个position样式属性设置为relative或者absolute的祖父节点的相对偏移,与offset()一样,它返回的对象也包括两个属性即top和left。
    [11]scrollTop()和scrollLeft():$("div").scrollTop();  //获取元素的滚动条距顶端的距离。  $("div").scrollLeft();  //获取元素的滚动条距左侧的距离。
    [11]jQuery中的 toggle和slideToggle 方法,都可以实现对一个元素的显示和隐藏。

    区别是:toggle:动态效果为从右至左,横向动作;slideToggle:动态效果从下至上,竖向动作。比如想实现一个树由下至上收缩的动态效果,就使用slideToggle就ok了。

    9、JQuery、JS动态修改JS改变img的src属性无效

    出现问题:Chrom、FireFox和IE下无效果

    <img src="<%=path%>/ValidateCode/ValidateCodeIndex" id="LoI_ValidateCodeImage"/>

    var url = "<%=path%>/ValidateCode/ValidateCodeIndex";

    $("#img").attr("src", url);

    解决方法:给图片路径加个参数如:t=Date()  或  t=Math.random() 或  保证src属性与现在的src不重复

    $("#img").attr("src", url+" ?t="+Date() );

  • 相关阅读:
    矩阵快速幂 HDU3483
    欧拉函数 求小于某个数并与其互质的数的个数
    扩展欧几里德算法求逆元3
    拓展欧几里德算法求逆元2
    【20140113-2】MyEclipse生成javadoc时出错:编码GBK的不可映射字符
    【131202】SQL
    【20140113】package 与 import
    系统架构等级
    ora-01658 :无法为表空间USERS 中的段创建INITIAL区
    WMSYS.WM_CONCAT 函數的用法
  • 原文地址:https://www.cnblogs.com/xinaixia/p/4042717.html
Copyright © 2011-2022 走看看