zoukankan      html  css  js  c++  java
  • jquery基础篇

    1、jquery选择器和css选择器的关系:

    jquery的选择器是源于css,jquery支持css1和css2的全部和css3 的部分选择器,同时它也有少量独有的选择器。

    2、常用jquery选择器:一定要注意子元素和后代元素的区别 (以及子选择器和后代选择器的区别)。

    #id  .className  div(id 类  标签)就不解释啦

    后代选择器:  $("div p")   相当于   var d=$("div")    var p=$("p",d) (很有用)

    相对应的是祖先元素的筛选方法:$("p").parents("div")    //一定要区分祖先选择器和父选择器的区别    

    父选择器筛选法:  $("p").parent()  只选择父元素  不包括父元素的父元素

    子选择器:$("form > input")    只选择是form的子元素的input元素,不包括是form后代的input的元素(是和后代选择器的区别)

    相邻选择器:$("prev+next")一个有效选择器并且紧接着第一个选择器  如$("label + input")   选择前面紧挨着label元素的input的元素。

    同辈选择器:匹配 prev 元素的所有同辈 siblings 元素

    $("form ~ input")

    第一个元素:

    $('li:first');

    排除选择器:
    :not(selector) 如
    查找所有未选中的 input 元素

    $("input:not(:checked)")

    3、相当于live()

    $(document).on("click","#liveID",function(){alert("live click");});

    4、$.data(obj,name,value)方法:

    给obj对象上添加缓存  取值方法$.data(obj,name)  obj可以是Dom元素  jquery对象不行。

    $("#DivDemo").data()是一个key-value的obj对象

    设置值:可以在Html元素设置属性,以data-开头,如:data-name='lxf'  或者用js设置:$("#DivDemo").data(“name”,'lxf')

    取值:$("#DivDemo").data(“name”)  或者 $("#DivDemo").data().name或者$("#DivDemo").data()["name"]

    5、阻止事件冒泡:jquery不支持事件捕获阶段(大多数浏览器都不支持)

    event.stopPropagation();//event为事件参数

    6、用映射方式一次绑定多个事件:

    $("#txtId").on({focus:function(){ alert("focus"); },change:function(){ alert("change"); }});

    7、事件绑定函数的第二个参数 是作为 event.data属性传过去的:

    $("#txtId").on("focus",{dd:"111"},function(event){ alert(event.data.dd)});

    8、判断复选框是否选中 或 设置复选框:请用 prop("checked") 方法 返回bool 型  选中为true ,未选中为false。不要用 attr("checked")  ,attr("checked")  始终返回页面初始加载时的状态 不管以后怎么改变, 而且返回的时 undefined或checked 而不是bool值。

    如:

    <input type="checkbox" id="test" value="非洲">非洲<br/>

    $("#test").prop("checked")  //获取是否选中

    $("#test").prop("checked",true/false)  //设置是否选中

    或者用DOM属性 .checked (bool型)

    document.getElementById("test").checked //获取值

    document.getElementById("test").checked =true/false 设置值

    9、$.each()和 $().each()区别:

    $().each,对于这个方法,在dom处理上面用的较多。如果页面有多个input标签类型为checkbox,对于这时用$().each来处理多个checkbook,例如:

    $(“input[name=’ch’]”).each(function(i){
    if($(this).attr(‘checked’)==true)
    {
    //一些操作代码

    }

    回调函数是可以传递参数,i就为遍历的索引。

    对于遍历一个数组,用$.each()来处理,简直爽到了极点。例如:

    $.each([{“name”:”limeng”,”email”:”xfjylimeng”},{“name”:”hehe”,”email”:”xfjylimeng”},function(i,n)
    {
    alert(“索引:”+i,”对应值为:”+n.name);
    });

    参数i为遍历索引值,n为当前的遍历对象.

    var arr1 = [ “one”, “two”, “three”, “four”, “five” ];
    $.each(arr1, function(){
    alert(this);
    });
    输出:one   two  three  four   five
    var arr2 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
    $.each(arr2, function(i, item){
    alert(item[0]);
    });
    输出:1   4   7
    var obj = { one:1, two:2, three:3, four:4, five:5 };
    $.each(obj, function(key, val) {
    alert(obj[key]);
    });
    输出:1   2  3  4  5

    总结:

    $.each(数组或对象,function(i,v){})   // 遍历的对象为数组是 i为 索引 从0~n  v为数组元素,遍历对象为对象时,i为对象的属性  v为对象的对应属性的值。

    function中this指向:数组元素值或对象属性值。等效function第二个参数。

    10、跳出循环:

    for循环中我们使用continue;终止本次循环计入下一个循环,使用break终止整个循环。 
    而在jquery中 $.each则对应的使用return true 和return false。 

  • 相关阅读:
    编写C#程序的IDE
    MacBook Pro装Win7后喇叭没有声音
    MacBook Pro装Win7后喇叭没有声音
    MacBook Pro装Win7后喇叭没有声音
    MacBook Pro装Win7后喇叭没有声音
    Linux从入门到精通系列之NFS
    Linux从入门到精通系列之NFS
    Linux从入门到精通系列之NFS
    Docker之docker设置系统的环境变量
    mq put 消息到远程队列
  • 原文地址:https://www.cnblogs.com/lxf1117/p/4215973.html
Copyright © 2011-2022 走看看