1、jQuery入口函数与Js入口函数的区别
【注】js入口函数指的是:window.onload = function(){};
区别一:书写个数不同
Js入口函数只能出现一次,出现多次会存在事件覆盖的问题。
jQuery的入口函数,可以出现任意多次,并不会存在事件覆盖问题。
区别二:执行时机不同
Js入口函数是在所有的文件资源加载完成后,才执行。这些文件资源包括:页面文档、外部的js文件、外部的css文件、图片等。
jQuery的入口函数,是在文档加载完成后,就执行。文档加载完成指的是:DOM树加载完成后,就可以操作DOM了,不用等到所有的外部资源都加载完成。
文档加载的顺序:从上往下,边解析边执行。
2、jQuery对象和DOM对象的相互转换
①DOM对象此处指的是:使用js操作DOM返回的结果
var
btn = document.getElementById(“btnShow”);
// btn就是一个DOM对象
②jQuery对象此处指的是:使用jQuery提供的操作DOM的方法返回的结果
var
$btn = $(“#btnShow”); // $btn就是一个jQuery对象
③DOM对象转换成jQuery对象
var
$btn1 = $(btn);
// 此时就把DOM对象btn转换成了jQuery对象$btn1
// $(document).ready(function(){}); // 调用入口函数
// 此处是将document这个js的DOM对象,转换成了jQuery对象,然后才能调用jQuery提供的方法:ready
④jQuery对象转换成DOM对象
// 第一种方式
var
btn1 = $btn[0];
// 此时就把jQuery对象$btn转换成了DOM对象btn1 (推荐使用此方式)
// 第二种方式
var
btn2 = $btn.get(0);
// 此时就把jQuery对象$btn转换成了DOM对象btn2
3、jQuery选择器
符号(名称)
说明
用法
基本选择器(重点)
ID选择器
$(“#btnShow”).css(“color”, “red”);
选择id为btnShow的一个元素(返回值为jQuery对象,下同)
.
类选择器
$(“.liItem”).css(“color”, “red”);
选择含有类liItem的所有元素
element
标签选择器
$(“li”).css(“color”, “red”);
选择标签名为li的所有元素
层级选择器
空格
后代选择器
$(“#j_wrap li”).css(“color”, “red”);
选择id为j_wrap的元素的所有后代元素li
子代选择器
$(“#j_wrap > ul > li”).css(“color”, “red”);
选择id为j_wrap的元素的所有子元素ul的所有子元素li
基本过滤选择器
:eq(index)
选择匹配到的元素中索引号为index的一个元素,index从0开始
$(“li:eq(2)”).css(“color”, ”red”);
选择li元素中索引号为2的一个元素
:odd
选择匹配到的元素中索引号为奇数的所有元素,index从0开始
$(“li:odd”).css(“color”, “red”);
选择li元素中索引号为奇数的所有元素
:even
选择匹配到的元素中索引号为偶数的所有元素,index从0开始
$(“li:odd”).css(“color”, “red”);
选择li元素中索引号为偶数的所有元素
筛选选择器(方法) (重点)
find(selector)
查找指定元素的所有后代元素(子子孙孙)
$(“#j_wrap”).find(“li”).css(“color”, “red”);
选择id为j_wrap的所有后代元素li
children()
查找指定元素的直接子元素(亲儿子元素)
$(“#j_wrap”).children(“ul”).css(“color”,“red”);
选择id为j_wrap的所有子代元素ul
siblings()
查找所有兄弟元素(不包括自己)
$(“#j_liItem”).siblings().css(“color”, “red”);
选择id为j_liItem的所有兄弟元素
parent()
查找父元素(亲的)
$(“#j_liItem”).parent(“ul”).css(“color”,“red”);
选择id为j_liItem的父元素
eq(index)
查找指定元素的第index个元素,index是索引号,从0开始
$(“li”).eq(2).css(“color”, “red”);
选择所有li元素中的第二个