JavaScript 库 是一个封装好的特定的集合(方法和函数)。比如动画animate、hide、show、获取元素等
简单理解:是一个js文件,里面对原生js代码进行封装,存放到里面。我们使用时只需调用即可。
1.等着DOM结构渲染完毕即可执行内部代码,不必等到所有外部资源加载完成, jQuery帮我们完成了封装。 2.相当于原生js中的DOMContentLoaded. 3.不同于原生js中的load事件是等页面文档、外部的is文件、css文件、 图片加载完毕才执行内部代码。
1、$是jQuery的别称。 2、$是jQuery的顶极对象。相当于原生JavaScript中的window。
冲突问题的解决方式1 jQuery框架中释放 $ 符号的使用权 注意点:释放操作必须在编写其他jQuery代码之前编写 释放之后就不能用$,改为使用jQuery
jQuery.noConflict(); jQuery(function () { alert("hellow") });冲突问题的解决方式 2 自定义访问符号
<script> var $jn = jQuery.noConflict(); $jn("div").hide(); $jn(function(){ alert("jn是自定义访问符号"); }); </script>1.DOM对象:用原生js获取过来的对象就是DOM对象.
jQuery对象:用jquery方 式获取过来的对象是jQuery对象。 jQuery对象本质是:利用$对DOM对象包装后产生的对象(伪数组形式存储)。
jQuery 对象只能使用jQuery 方法,DOM对象则使用原生的JavaScirpt 属性和方法。
约定:如果获取的是 jQuery 对象, 那么要在变量前面加上 $. var $variable = jQuery对象 var variable = DOM对象
DOM对象转化成jQuery对象: $(DOM对象)
jQuery对象转化成DOM对象(两种方式):$(‘选择器’)[index] 和 $(‘选择器’ ).get(index);
1. DOM对象转换为jQuery对象
(1)使用原生js获取过来DOM对象
var myDiv = document.querySelector( 'div'); $m = $(myDiv);2. jQuery对象转换为DOM对象 (1) 直接从jQuery对象身上通过下标获取元素
$('div' )[0];(2) 通过jQuery提供的get()方法加一个下标获取对应的元素
$('div' ).get(0);$.prototype、jQuery.prototype、$.fn、jQuery.fn
<script type="text/javascript"> var $ = jQuery = function(){ return jQuery.fn.init(); // 调用原型 init() }; jQuery.fn = jQuery.prototype = { init: function(){ // 在初始化原型方法中返回实例的引用 this.length = 0; this.test = function(){ return this.length; } return this; }, jquery: "1.3.2", // 原型属性 length: 1, size: function(){ // 原型方法 return this.length; } }; console.log($().jquery); // 返回 "1.3.2" console.log($().test()); // 返回 0 console.log($().size()); // 返回 0 </script>ready事件是jQuery自己定义的,在页面的DOM结构加载完毕之后就会执行,而window.onload事件是BOM规定对的,它在页面的所有资源加载完毕才会执行。
$(document).ready(function(){code....})简化写法:
$(function(){ console.log("ready"); }) 注意:此案例必须处于服务器环境下 console.log(1); window.onload = function(){ console.log("load"); } $(document).ready(function(){ console.log("ready") })$(“选择器" ) //里面选择器直接写CSS选择器即可,但是要加引号
1.传两个参数,分别是属性名和属性值 $(‘div’).css(‘属性’, ‘属性值’);
$("div").css("background", "pink");2.传一个参数,可以是一个对象 $(‘div’).css({‘属性’, ‘属性值’});
$("div").css({ width: "100", height: 100, background: "pink" });jQuery获取当前元素 ,this不要加引号
遍历内部DOM元素(伪数组形式存储)的过程就叫做隐式迭代。 简单理解:给匹配到的所有元素进行循环遍历,执行相应的方法,而不用我们再进行循环,简化我们的操作,方便我们调用。
<script> $(function() { // 1.隐式迭代给所有的按钮都绑定了点击事件 $("button"). click(function() { // 2.当前的元素变化背景颜色 $(this).css("background", "pink"); // 3.其余的兄弟去掉背景颜色隐式迭代 $(this).siblings("button" ).css( "background",""); }); }) </script>