• 锋利的jQuery读书笔记(二)


    知识小点:

    1、由于$()获取的永远是对象,不管括号里面的元素是否存在都会获得对象。所以检测某个元素在网页上是否存在时,不能使用以下代码:

    if($("#tt")){ //do something}
    而应该获取元素的长度来判断
    if($("#tt").length>0){//do something}

    或者转换为DOM对象来判断

    if($("#tt")[0]){
    //do something
    }

    2、jQuery中选择器分为基本选择器、层次选择器、过滤选择器和表单选择器。

    3、层次选择其中的$("prev+next")可以用next()方法代替而$("prev~sibling")可以用nextAll()代替。siblings()方法则可以选择所有同辈节点与前后无关。

    4、:nth-child(index/even/odd/equation)选取每个父元素下的第index个子元素或者奇偶元素。注意index从1算起。

    5、find()和filter()的区别,find()是在元素子集内寻找匹配元素,filter()是对自身进行筛选。

     6、如果想同时对事件阻止冒泡和默认行为除了用,event.stopPropagation()和event.preventDefault,可以采用简写即在事件处理函数中返回false即return false。

    7、mouseenter和mouseleave事件不冒泡且在元素的子元素上不会触发,而mouseover和mouseout事件会冒泡且在元素的子元素上会触发。

    8、看书中遇到$("option:selected",this)这样的代码,一开始理解错为$("option:selected,this"),一定要区别分开$("option:selected",this)是表示$()有两个参数,第一个参数是选择器,第二个是作用域,一般省略第二个参数是默认是document,现在指定为this其实相当于$("#select1 option:selected")。

    9、什么时候用trigger()还是用tiggerHandler()一定要记清楚,如trigger("blur")和triggerHandler("blur")的区别是前者也会触发浏览器默认的blur事件即失去光标,后者不会触发浏览器默认的事件。

    10、当对象发生变化需要重新回到原来的对象可以调用end()方法。

    11、.filter(":contains('"+( $(this).val() )+"')")这一段一开始看错引号的位置其实整个分为":contains('"和( $(this).val() )和"')"这三段组成一个字符串做为filter方法的参数。

  • 相关阅读:
    小程序 生成二维码
    uni-app调用wifi接口
    微信小程序代码上传,审核发布小程序
    uni-app开发经验分享十五: uni-app 蓝牙打印功能
    面试题 16.11. 跳水板
    LeetCode 63. 不同路径 II
    LeetCode 44. 通配符匹配
    LeetCode 108. 将有序数组转换为二叉搜索树
    LeetCode 718. 最长重复子数组
    LeetCode 814. 二叉树剪枝
  • 原文地址:https://www.cnblogs.com/liziyu91/p/5554298.html
Copyright © 2020-2023  润新知