原生js与jQuery的入口函数的加载模式不同
原生js会等到DOM元素加载完毕,并且图片也加载完毕才会执行;
jQuery会等到DOM元素加载完毕,但不会等到图片也加载完毕执行。
 
原生js编写多个入口函数,后面编写的会覆盖前面编写的;
而jquery后写的不会覆盖前面;
 
jquery入口函数的写法:


<script>

//第一种写法

    $(document).ready(function () {                  

          alert(" hello " );

          }); 

 //推荐写法

     $(function (){

     });

 //其他写法相似、只是将第一种写法进行增删而已,不做介绍

<script>
 
jquery冲突问题
多js文件导入时,$符号会被赋予其他所用的情况下:
(1). 后面可以覆盖前面,可以将jquery js文件放在最后面导入;
(2).释放符号的使用权 : jQuery.noConflict();
(3)自定义一个访问符号
var  nj=jQuery.noConflict();// 表示$换为nj来表示;
 
$() jQuery的核心函数
 
可以接收一个函数 相当于入口函数
可以接收一个字符串
字符串选择器 字符串代码片段
<jquery对象>
DOM元素 会被包装成jquery对象
jquery对象: jquery对象就是一个伪数组
jquery的静态方法: //前提明白js中静态方法和实例方法的使用
//静态方法就是类直接创建,而实例方法通过prototype的形式创建,通过创建实例的方式来调用
原生js中静态方法 forEach(function(value,index){ });
forEach不能遍历伪数组;
//jqueryforEach方法: $.each(arr,function(index,value){ } ); 可以遍历伪数组;
原生js中map方法: 遍历数组
jquery $.map(遍历的数组,每遍历一个元素的回调函数(遍历的元素,遍历到的索引));
 
map与foreach() 的返回值不同、 each遍历谁返回谁,foreach返回一个空数组;
each不支持在回调函数中对遍历数组进行处理;而map可以通过回调函数中return进行处理返回一个新的数组返回;
trim trim方法用于将字符串两端中的多余的空格去除;参数为字符串,返回值为没有空格的字符串
$.isWindow();//判断传入的对象是否是window对象 返回值为true和false;
$.isArray(); //判断是否为真数组;真数组返回为true;
$isFunction()
$.holdReady(true);//表示暂停 false表示开始;
 
jquery的选择器
 
属性节点和属性(任何对象都有属性,而只有DOM元素具有attribute属性节点;
jquery操纵属性和属性节点的方法(详细见手册)
 
jquery的事件绑定
 
$(function(){

$("button").click(function(){

alert("1233"); 

  })

  });

  //事件绑定的第二种方式

  $(function() {

  

$("button").on("click",function(){

  alert("hello wei");

  })

  })
  //推荐使用第一种  有文字提示 而有的部分不能添加
  注意点:注册多个事件不会覆盖  可以添加相同或者不同事件
 
事件移除
$("button").off()   //不传参数移除所有参数
                         //一个参数会移除所有一种类型的所有事件
                         //两个参数会移除一种类型的指定事件
 
jquery事件冒泡和默认行为
什么是事件冒泡?如何阻止;//事件冒泡就是创建son和father模块,点击son事件时father事件同时触动;
什么是默认事件?如何阻止;
阻止冒泡事件: 只需要在son事件中添加return false;语句;
第二种方式:
$("son").click( function(event) {

    event.stopPropagation() 

    } );
 
默认行为:像某些自动跳转、默认提交表单的事件;
阻止的事件中return false;
第二种方式通过 event.preventDefault();
 
自动触发事件:
$(".father").trigger("click");  //触发事件会同时事件冒泡;

.triggerHander();//也可以自动触发     不会触动事件冒泡;


$("input[type='submit']").click( function() {

 });

 trigger: 如果利用trigger自动触发事件,会触发默认行为;

 triggerHander: 自动触发事件不会触发默认行为;
 
如果想自动触发a还行触发a的默认事件   将a包起来使用<span>,使用span的默认事件;
 
自定义事件:
jquery中的事件委托:

$("ul").delegate("li", "click",function() {

console.log($(this).html());

});

 
————————————————