jquery 快速入门学习总结

jquery简介

    jquery 是一个免费,开源的javascript 库.

jquery作用

    方便完成web前端的工作,例如节点操作,元素操作,事件绑定,ajax操作,并且解决了大部分的兼容问题

jquery使用配置

   1.本地配置

   1.1 下载jquery文件,  www.jquery.com

   1.2 引入,放在文件同目录

<script type="text/javascript" src="jquery.1.8.3.min.js"></script>

   2.远程访问文件

<script src="http://www.xiaohigh.com/jquery.js"></script>

   3.检测配置

alert($);  $ 是jquery对象的简写
        alert(jQuery);

   4.元素基本获取

     4.1 通过id查找元素 $('$id');

     4.2 通过标签名或者元素获取 $('div');

     4.3 通过class属性获取 $('.class');

     4.4 逗号并列获取 $('$id,.class');

     4.5 空格层级获取 $('$id .class')    //中间有空格

   5.过滤获取

     5.1 获取第一个元素$('li:first')

    5.2 获取最后一个元素$('li:last')

    5.3 获取指定索引的元素 $('li:eq(5)') 或者 $('li').eq(5);

    5.4 获取包含指定文本的元素$('li:contains("国")')

    5.5 通过属性查找元素 $('input[name=username]') 通过单个属性名和属性值查找

      $('input[type=text][name=phone]') 通过多个属性名和属性值进行查找

   6.父子节点获取(重点)

    6.1 获取所有的子元素$('ul').children()

    6.2 获取第一个子元素$('ul li:first-child')

    6.3 获取最后一个元素$('ul li:last-child')

    6.4 获取指定索引的元素$('ul li:nth-child(1)')

    6.5 获取下一个元素 $('#id').next()

    6.6 获取上一个元素$('#id').prev()

    6.7 获取父级元素$('#id').parent()

    6.8 获取先辈元素$('#id').parents('tr')  (重点)

     6.9 获取同辈元素$('#id').siblings()

    6.10 在父级元素中查找元素$('ul').find('.class')

   7.元素的操作

    7.1 attr()

    attr传两个参数的时候是设置,传一个的时候是获取

    可以对属性进行操作,例:<div id='dvs'></div>

    $('#dvs').attr('class','cur');  设置属性

    $('#dvs').attr('class');    获取属性

    7.2 removeAtrr()

    $('#dvs').removeAttr('src');  移除属性

   8.样式操作

    8.1 css()

     例:$('#divs').css('width','200px'); 设置css属性 在括号内可通过中括号进行多个属性设置

    8.2 addclass()

     添加类样式   

    8.3 removeClass()

     移除类样式

   9.文本操作    

    9.1 text()

    $('#dvs').text('<a href="">汽车</a>'); 设置结果会包含a标签

     9.2 html()

    $('#dvs').html('<a href="">生活</a>');设置结果只有值(生活)

    9.2 from元素的值操作

    值的获取和设置

    9.2.1 $(element).val() 获取

    9.2.2 $(element).val('牛') 设置

    9.3 其他

    9.3.1 相对于文档的偏移量 offset()

        $('#dvs').offset().left

    9.3.2 获取元素相对于父级的偏移量 position()

        $('#dvs').position()

    9.3.3 元素的滚动距离(既可以获取也可以设置)  scrollLeft() scrollTop()

    9.3.4 宽度和高度   

    width 获取可视区域的宽度 $(window).width()

          获取整个文档的宽度$('document').width()

          获取元素的宽 $('element').width()

    height 获取可视区域的高度 $(window).height()

          获取整个文档的高度 $('document').height()

          获取元素的宽 $('element').height()

     10 节点操作

    10.1 创建节点操作

    $('<div></div>')

    $('<div class='cur'><span>hello world</span></div>')

    10.2 插入节点

     10.2.1 内部尾部添加

    $(parent).append(newNode)

    newNode.appendTo(parent)

    10.2.2 内部头部添加

    $(parent).prepend(newNode)

    $(newNode).prependTo(parent)

    10.2.3 元素外部之后添加

    $(element).after(newNode)

    newNode.insertAfter(element)

    10.2.4 元素外部之前添加

    $(element).before(newNode)

    newNode.insertBefore(element)

    10.3 删除节点

    $(element).remove()  删除当前节点

    $(element).empty()   清空节点

    10.4 替换节点

    替换节点  $(element).replaceWith(newNode)

    10.5 克隆节点 

    克隆节点 $(element).clone(true)

    10.6 包裹元素

    包裹元素   $(element).wrap('<div></div>')   当前的元素被其他的元素包裹

    $(element).unwrap()   解除包裹

    11. 事件绑定

基本绑定
    $(element).click(function(){})
    $(element).dblclick(function(){})
    加载完毕事件
    $(document).ready(function(){})  //和onload一样
    $(function(){})
    方法绑定
    $(element).bind('click',function(){})
    $(element).unbind()
    $(element).on('click', function(){})
    动态绑定
    $(element).live('click', function(){})    可以多个同时绑定,点击之后同时出发一个函数
    11.2 事件触发
    $(element).trigger('click')     //自动触发事件

    11.3 阻止事件冒泡和默认行为

    return false

    

11.4 获取当前鼠标的位置和按键
    $(element).click(function(e){})
    var cx = e.clientX
    var cy = e.clientY
    var px = e.pageX
    var py = e.pageY
    12 ajax
    $.get('1.php',{a=100&b=200},function(data){})
 
    $.post('1.php',{num=10&id=10},function(data){})
 
$.ajax({
url: '1.php',   url请求的脚本
data: 'id=100&page=10',    data发送的数据
dataType: 'json',    dataType数据的类型
type: 'GET',    type请求的类型  get或post
success: function(data){},    success成功的执行代码
error: function(){},         error失败的执行代码
timeout:3000,     timeout 超时时间
async: false    async是否异步
 
    })
    重点:在php中的数组返回给javascript 读取
    $arr = ['name'=>'世强','age'=>21,'height'=>'167cm'];
    $res=json_encode($arr);
    echo $res;
    
    //get发送ajax
$.get('4.php',{a:100},function(data){
 
// console.log(data);
//第一种
//eval('var arr ='+data);
 
// console.log(data);
//第二种
//var arr = JSON.parse(data);
 
console.log(arr);
 
//第三种 json
}.json)
    13特效
快速显示和隐藏
$(element).hide()
$(element).show()
滚动显示和隐藏
$(element).slideDown()
$(element).slideUp()
渐隐渐显
$(element).fadeIn()
$(element).fadeOut()
自定义动画
$(element).animate({},2000)
停止
$(element).stop()
延时
$(element).delay(2000)