jq中的入口函数:
$(document).ready(function(){
这里去存放我们需要暂缓加载的脚步
});
//ready的简写:
$(function () {。。。。。});
onload和 ready的区别:
文档的加载步骤:
-
解析HTML结构
-
加载外部的样式表和脚本
-
解析并执行脚本
-
构建HTML–DOM模型 (ready方法执行)
-
加载图片等外部资源
-
页面加载完毕 (load方法执行)
jq操作css
=================================================================
通过jq获取HTML元素
var oDiv = $(“.box”);
设置css样式
css(参数1,参数2);
//参数1: 属性名
//参数2: 属性值
// 只有参数1时 : 会返回值指定属性名的值
// 有两个参数时: 会修改修改指定属性名的值
// 一个参数是获取,两个参数是修改
console.log($(“.box”).css(“width”));
$(“.box”).css(“background”,“yellow”);
链式编程:
$(“.box”).css(“color”,“red”).css(“fontSize”,“30px”);
//链式写法的简单方式 – 对象
// 冒号赋值, 逗号间隔
// 最后一个属性结尾,不需要任何符号
$(“.box”).css({
width:‘100px’,
height:‘100px’,
color: ‘green’
});
基础选择器:
- 获取具有id属性的div
目标[属性名] 当目标具备这个属性时,会被选中
$(“div[id]”);
- 目标[属性名=‘属性值’]
当目标具有 指定属性的属性值时 被选中
$(“div[id=‘div2’]”).css(“color”,“red”);
- 目标[属性名!=‘属性值’]
选取目标中 不具有指定属性值 的所有元素
$(“div[id!=‘div2’]”).css(“color”,“yellow”);
- 目标[属性名^=‘属性值’]
目标指定的属性名, 是以指定的属性值开头的
$(“div[id^=‘d’]”).css(“background”,“blue”);
- 目标[属性名$=‘属性值’]
目标指定的属性名 是以指定的属性值结尾的
( " d i v [ i d ("div[id ("div[id=‘2’]").css(“fontSize”,“30px”);
- 目标[属性名*=‘属性值’]
目标指定的属性名 只要包含指定的属性值
$(“div[id*=‘iv’]”).html(“我们都被改了”);
- id
$(“#box”)
- class
$(“.box”)
- 标签名
$(“div”)
- 通用选择器
$(“*”);
- 层级选择器
$(“div>span”);
- 后代
$(“div span”);
- 连续的子代
$(“div>span>span”);
- 群组选择器
$(“div,p”);
- 交叉选择器:两个条件必须同时满足
$(“#btn.box”);
- 紧邻选择器:
条件1: 紧挨着制定目标 (这里的指定目标: .box)
条件2: 需要在目标的下方书写
$(“.box+p”);
- 同辈选择器(同级选择器,同胞选择器)
可以获取到目标下方 所有的元素(无论是否紧邻)
$(“.box~p”);
过滤选择器:
- :first 匹配到第一个符合条件的元素
$(‘li:first’).css(“background”,“yellow”);
- :last 匹配到最后一个符合条件的元素
$(‘li:last’);
- :not 除了()中指定的条件,获取:前指定的所有元素,
$(“li:not(.list)”);
- :even 索引为偶数的
$(“li:even”);
- :odd 索引为奇数
$(“li:odd:not(.list)”);
- :eq(指定索引值)
$(“li:eq(0)”);
- :gt(大于索引值)
$(“li:gt(1)”);
- :lt(小于索引值)
$(“li:lt(5)”);
后代选择器和 find()方法:
$(“p span”).html(“我被html方法改了”);
$(“p”).find(“span”).css(“background”,“red”);
子元素选择器和 children 方法:
$(“p>span”).css(“color”,“blue”);
$(“p”).children().css(“fontSize”,“30px”);
紧邻选择器和 next()方法、nextAll() 方法:
$(“.d+button”).html(“点我”);
$(“.d”).next().css(“color”,“blue”);
$(“.d”).nextAll(“button”).html(“哈哈哈”);
prev 方法、prevAll 方法:
$(“.d”).prev().html(“我是新来的div”);
$(“.d”).prevAll().html(“我是新来的div”);
siblings 方法:
$(“.d”).siblings(“button”);
parent([expr])方法:
用一个包含着所有匹配元素的唯一父元素的元素集合。
$(‘#item1’).parent().parent;
parents方法:
//得到含有子元素或者文本的元素
1.$(‘li:parent’);
2.parents([expr]);
//得到一个包含着所有匹配元素的祖先元素的元素集合。
//可以通过一个可选的表达式进行筛选。
$(‘#items’).parents(‘.parent1’);
closest([expr])方法:
closest会首先检查当前元素是否匹配,如果匹配则直接返回元素本身。
如果不匹配则向上查找父元素,一层一层往上,直到找到匹配选择器的元素。
如果什么都没找到则返回一个空的jQuery对象。
jq操作DOM
=================================================================
创建节点:
var $li = $(“
- 榴莲
- ”);
添加节点:
方法:
- appendTo:将内容添加到目标 中 的最后一位
内容.appendTo(目标);
l i . a p p e n d T o ( li.appendTo( li.appendTo((“ul”));
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加V获取:vip1024c (备注前端)
最后
我可以将最近整理的前端面试题分享出来,其中包含HTML、CSS、JavaScript、服务端与网络、Vue、浏览器、数据结构与算法等等,还在持续整理更新中,希望大家都能找到心仪的工作。
CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
篇幅有限,仅展示部分截图:
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算
浏览器、数据结构与算法**等等,还在持续整理更新中,希望大家都能找到心仪的工作。
CodeChina开源项目:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
篇幅有限,仅展示部分截图:
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算