• Jquery 使用点滴


      如果说现在最火的javascript库是哪个,我想应该是jQuery吧.用VS创建的MVC工程都会把jQuery类库文件添加到工程中,可见它的欢迎程度.那为什么它有这么大的吸引力呢,我认为主要有以下几点:

     

    1. 它可以减轻你的工作量

      同样的功能,用jQuery实现比用原生态的javascript所需编写代码更少,并且在大部分情况下程序运行效率要高.

    1. 跨浏览器,支持移动浏览器

      你不必再为编写能在IE,Firefox, Chrome, Safari 等浏览器上表现一致的脚本苦恼了.有过在IE6上编写脚本的人将深有体会.

    1.  它有许许多多的插件

      你想要实现的某种功能,先搜索下是否有相关插件,说不定有意外心惊喜.    

    1. 当别人都在用它的时候,最好也用它.

      否则一是看别人的代码比较费劲,二是开发风格不能保持一致.

     

    下面是最近完成项目中,经常用到的方法的汇总.

    1. Ajax:

      1.1    最简单的Ajax提交,以及做返回处理:

    $.post(url, function (data) {//callback});
    

      1.2    Ajax操作时传入参数:

     $.get(url, { para1: value1 }, responseHandler);  //responseHandler为回调函数

      1.3    JSON处理:

    $.getJSON(url, { para1:  value1}, responseHandler));

      1.4    如果以上都不能满足您的需求,直接调用最底层的ajax函数:

    $.ajax({   url: url,
                    data: { para1: value1},
                    dataType: "xml",
                    cache: false,
          beforeSend:  function() {}, 
                    error: function(xml) {//error handler},
                    success: function(xml) {//success handler},
          complete : function(){}
                });

     

    2.  获取操作对象

      2.1     根据ID获取对象  

    $("#UserName")

      2.2    查找name='Privileges'的控件  

    $("input[name='Privileges']")
    $("div[name='message']").last()

       2.3     获取子对象

    $("#menubar ul")              //查找ID为menubar下的所有UL对象,递归查询
    $("#divProjectInfo > div ") //获取查找ID为divProjectInfo下的div对象,不递归查询
    $("#divProjectInfo > div:first") //获取查找ID为divProjectInfo下的第一个div对象

    3. 修改或设置属性

      3.1     取值/隐藏

    $("#obj").val()   //获取值
    $("#obj").val(1); //赋值
    $("#obj").text(); //获取文本内容
    $("#obj").hide();
    $("#obj").show();

      3.2      增加或删除Class

    $("#obj").addClass(className);
    $("#obj").removeClass(className);
    $("#obj").css({"width": '50px' }); 

      3.3     直接操作属性

    $("#obj").attr("href ", url);
    $("#obj").attr("checked", true);
    $("#obj").attr("disabled", true);

       3.4     关联日期选择控件

    $("#obj").datepicker(datePara); 
    $("#obj").datepicker("setDate", endDate);
    var datePara = {
        dateFormat: 'yy/mm/dd',
        dayNamesMin: ['日', '一', '二', '三', '四', '五', '六'],
        monthNames: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']
    }
    

      

      3.5       添加内容

    $("#obj").append("<li>");
    $("#obj").html("<li>");

      3.6      Checkbox操作

    $("#chkAll").attr("checked");   //判断checkbox是否选中
    $(this).is(':checked'); //有时通过attr("checked")获取不到取消状态,需要用这个
    $("input[name='Privileges']").each(function() {   $(this).attr("checked", checked ? true : false); });

     3.7    radio操作

    $('input[name=qIsBorrowing]').is(':checked')                //判断某个radio组是否选中
    $("input:radio[name=ContactTypeID]:checked").val() == "3"         //判断某个radio项是否选中
    $("input:radio[name=ContactTypeID]:eq(0)).attr("checked", true);    //设置radio组第一项选中
    $("input:radio[name=ContactTypeID]:[value='3']).attr("checked", true); //根据值选中

     3.8    下拉选项操作   

    $('#obj option:selected').val();  //获取下拉选项的值 
    $('#obj').append('<option value="0">title</option>'); //添加
    $("#obj").get(0).selectedIndex; //获取下拉选项选中项索引
    
    // multiple = true 检查是否选中
    $("#obj option").each(function () {
        if ($(this).attr("selected")) {
            alert($(this).val());
        }
    });   
    

       

    4. 其它

      4.1     健值对

    var tt = {"0":"女", "1":"男"};
    
    $.each(tt, function (key1, key2) {
        alert(key1); alert(key2);
    });

      4.2     根据当前对象查找

    $(document).ready(function () {
        $("#ulTest li a").click(function () {
            //alert($(this).text());
            $(this).parent("li").hide();
        });
    });
    

     html结构如下

     <ul id="ulTest">
        <li><a>aa</a></li>
        <li><a>bb</a></li>
    </ul> 
    

      4.3     自定义data-值获取

    <div class="ajax-requests">
    <
    a href="/Home/FetchRouteHits" data-transform="fetchRouteHits_transform">Fetch Route Hits</a>
    </div> 
    $('.ajax-requests a').click(function() {
        $(this).data('transform')  //输出fetchRouteHits_transform
    });
    

     5, window onload加载函数写法(总是忘记格式,记录一下)

    $(function(){
    
    });
    

      6,绑定事件

    $("#batchA").bind("click", batch);


    签名:删除冗余的代码最开心,找不到删除的代码最痛苦!
  • 相关阅读:
    Python实例 包机制
    Python实例 类和继承
    python实例 文件处理
    python实例 异常处理
    配置 Apache+php多端口多站点(转载)
    C#中Delegate和Event以及它们的区别(转载)
    LINQ to SQL更新数据库操作(转载)
    创业公司如何实施敏捷开发(转)
    利用ps橡皮擦工具快速抠图
    XP win2003系统 微软雅黑字体的使用方法
  • 原文地址:https://www.cnblogs.com/season2009/p/2342475.html
Copyright © 2020-2023  润新知