zoukankan      html  css  js  c++  java
  • 锋利的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方法的参数。

  • 相关阅读:
    P4068 [SDOI2016]数字配对
    牛客挑战赛43 集合操作
    codefoces 1393D Rarity and New Dress
    codefoces 1400E Clear the Multiset
    [TJOI2017]城市 树形dp
    codefoces 1407E Egor in the Republic of Dagestan
    codefoces 1407D Discrete Centrifugal Jumps
    java保留两位小数(四舍五入和非四舍五入)
    JAVA在命令行进行输入输出重定向(JAVA SentinelValue)
    分治法(排列问题)
  • 原文地址:https://www.cnblogs.com/liziyu91/p/5554298.html
Copyright © 2011-2022 走看看