继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

jquery学习之重要知识点

不要慕码人我要切诺基
关注TA
已关注
手记 281
粉丝 37
获赞 120

1、javascript类库,即js库,预封装了很多函数和对象,为了简化我们的js开发,最大的特点是兼容各大浏览器,即不需要考虑兼容性问题,链式操作——方法链方式大大简化了代码的书写。

2、jquery-1.11.3.js——正常文件:有注释、空行和缩进

jquery-1.11.3.min.js——压缩文件:采用GZIP压缩技术,没有注释、空行和缩进

注:开发时为了加快加载速度,采用压缩版本,平时学习练习研发使用正常版本

3、jquery对象与DOM对象区分

jquery对象:封装DOM对象后产生的对象

DOM对象:通过DOM获取的元素,称之为DOM对象

4、jquery九大选择器

基本选择器、层级选择器、过滤选择器(基本过滤选择器、子元素过滤选择器、可见性过滤选择器、内容过滤选择器、属性过滤选择器、表单对象属性过滤选择器、)

5、可见性过滤选择器

:visible  获取可见元素(不常用)

:hidden  获取不可见元素(常用)

注:对visibility:hidden不起作用

6、【重点记忆】

 :not(expr) - 获取不包含指定表达式的元素

【获取class不为XX的xxx元素,其中包含没有class属性的元素,not中的表达式可加单引号可不加,一般不用加】

 :has(selector) - 获取含有匹配选择器的元素的父元素

[attrName!=value] - 获取包含指定attrName的值不为value的元素(包含没有该属性的元素,与not包含一致,not也是包含没有该属性的元素)

[attrName][attrName] - 组合属性过滤选择器(交集)(与基本选择器的并集不一样)

selector1,selector2,......($(“one,two”);【组合选择器】

中间用逗号隔开,全部写在一个双引号里,并集)

【隐藏元素的情况】

1.设置为display:none;

2.带有type=“hidden”的表单元素

3.width和height设置为0

4.隐藏的父元素

7、addClass() - 追加样式

无论之前是否包含样式,在此基础上追加一个新的样式,如果之前包含样式,依旧存在

attr()设置样式 - 无论之前是否包含样式,设置成当前样式,如果之前包含样式,会被覆盖

8、css()方法

        获取 -css(attrName)

        设置:【设置单个】

   css(attrName, attrValue)

  注意:attrName必须是字符串类型

    【设置多个】

  css({

 attrName : attrValue,

 attrName : attrValue,

 ... ...

   })

  注意 - attrName直接定义,不需要编写成字符串类型,值不加单位

9、children()与find()的区别:find是找所有后代元素,children是只找子元素

10、替换元素

    被替换元素 . replaceWith($(“替换元素”))

    replaceAll() - 实际上就是颠倒了的replaceWith()

  删除元素

    remove() - 删除自身及后代节点[自杀式,与原生DOM的原理完全不同]

      empty() - 删除后代节点,保留自身节点(特别适合:清空)

   插入元素

     内部插入 - 子元素(指定元素内)

     append() - 作为最后一个子元素插入到指定元素中

 【插入在指定元素的后面】

 【显示出来是在后面,作为子元素出现,保留各自前面的li点】

     prepend() - 作为第一个子元素插入到指定元素中

    【插入在指定元素的前面】

 【显示出来是在前面,作为子元素出现,不保留原来li前面的点】

   appendTo()

     prependTo()【只是上述操作的反操作,前后元素颠倒】

     外部插入 - 兄弟元素(指定元素外)

     before() - 作为指定元素的上一个兄弟元素插入

     after() - 作为指定元素的下一个兄弟元素插入

    【只是上述操作的反操作】

     insertBefore()

     insertAfter()

11、【注意问题】

1. 在js操作css的时候用驼峰。

2. 只要是加小括号的,一定是函数或方法的调用

3. 从加载上来说:写代码时不要随意位置写Js代码,css和html是一个引擎加载,js是另一个引擎加载,如果随意写js,则引擎切换的次数越多。每一种写的顺序的方式都有自己的好处

4.this是指代DOM,不是jquery对象

5.js的函数不具备重载,叫覆盖

6.当脚本代码放在页面上边的时候,用一个全局加载ready

12、jquery UI提供的功能

    1.效果(Effects)

     animate() - 自定义动画【jQueryui的animate是jQuery animate的补充】

     JQUERY中的animate()无法使用的CSS属性,在这都能用

    【 animate()方法

  当前HTML页面既引入JQUERY也引入JQUERY UI

  两者都提供了animate()方法

  如何保证调用的animate()一定是JQUERY UI提供的?

  原因 - JQUERY是先引入的,animate()方法被覆盖

    JavaScript的函数不具备“重载”而是“覆盖”,后面的代替了前面的】   

2.交互(Interactions)

3.组件(Widgets)

  dialog,对话框是开发中比较重要的元素

13、自调函数 - 尽量避免全局变量和函数(对象)

      原则 - 将全局改为局部

      自调函数

       (function(){

          // 定义代码

       }());//解决全局问题

 自调函数的写法至少13种以上【可自己查】

 所有全局变量都在浏览器内存里,会影响性能。

方法1:最前最后加括号

(function(){alert(1);}());

方法2:function外面加括号

(function(){alert(1);})();

方法3:function前面加运算符,void

void function(){alert(2);}(); //据说效率最高~

4:带参数

(function(o) {

alert(o);

})('water');

5 :匿名函数的链式调用

(function(o) {

alert(o);

return arguments.callee;

})('water')('down');

6:~(function(){

alert('water');

})();

7:+function(){

alert('water');

}();

8:-function(){

alert('water');

}();

9:~function(){

alert('water');

}();

10:!function(){alert(1);}();

14、【JQUERY的插件必须掌握!!!】

   如何学习JQUERY插件?

   插件官方提供的帮助文档

   插件提供的Demo示例代码

   [jquery插件是可以脱离jquery独立使用的]


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP