先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
正文
访问 HTML 元素最常用的方法是使用元素的 id。
在上面的例子中,getElementById 方法使用 id=“demo” 来查找元素。
3. innerHTML 属性
获取元素内容最简单的方法是使用 innerHTML 属性。
innerHTML 属性可用于获取或替换 HTML 元素的内容。
innerHTML 属性可用于获取或改变任何 HTML 元素,包括 <html> 和 <body>。
(三)DOM文档、元素
1.HTML DOM Document 对象
文档对象代表您的网页。
如果您希望访问 HTML 页面中的任何元素,那么您总是从访问 document 对象开始。
2. 查找 HTML 元素
(1)通过 id 查找 HTML 元素
DOM 中查找 HTML 元素最简单的方法是,使用元素的 id。
var myElement = document.getElementById(“intro”);
如果元素被找到,此方法会以对象返回该元素(在 myElement 中)。
如果未找到元素,myElement 将包含 null。
(2)通过标签名查找 HTML 元素
查找 id=“main” 的元素,然后查找 “main” 中所有
元素,返回对象数组
var x = document.getElementById(“main”);
var y = x.getElementsByTagName(“p”);
(3)通过类名查找 HTML 元素
如果您需要找到拥有相同类名的所有 HTML 元素,请使用 getElementsByClassName()
返回包含 class=“intro” 的所有元素的列表,返回对象数组
var x = document.getElementsByClassName(“intro”);
(4)通过 CSS 选择器查找 HTML 元素
如果您需要查找匹配指定 CSS 选择器(id、类名、类型、属性、属性值等等)的所有 HTML 元素,请使用 querySelectorAll() 方法。
返回 class=“intro” 的所有 <p>
元素列表
var x = document.querySelectorAll(“p.intro”);
(5)通过 HTML 对象选择器查找 HTML 对象
本例查找 id=“frm1” 的 form 元素,在 forms 集合中,然后显示所有元素值
var x = document.forms[“frm1”];
var text = “”;
var i;
for (i = 0; i < x.length; i++) {
text += x.elements[i].value + “
”;
}
document.getElementById(“demo”).innerHTML = text;
以下 HTML 对象(和对象集合)也是可访问的:
• document.anchors
• document.body
• document.documentElement
• document.embeds
• document.forms
• document.head
• document.images
• document.links
• document.scripts
• document.title
3.改变 HTML 元素
(1)改变 HTML 输出流
document.write() 可用于直接写入 HTML 输出流:
千万不要在文档加载后使用 document.write()。这么做会覆盖文档。
(2)改变 HTML 内容
修改 HTML 文档内容最简单的方法是,使用 innerHTML 属性。
document.getElementById(id).innerHTML = new text
(3)改变属性的值
document.getElementById(id).attribute = new value
例如
document.getElementById(“myImage”).src = “landscape.jpg”;
(4)改变元素css
需更改 HTML 元素的样式,请使用此语法:
document.getElementById(id).style.property = new style
例如
document.getElementById(‘p1’).style.visibility=“hidden”;
更多style对象见HTML DOM Style 对象参考手册。https://www.w3school.com.cn/jsref/dom_obj_style.asp
4. 添加和删除元素
5. 添加事件处理程序
6. 查找 HTML 对象
(三)DOM动画
1.步骤:
(1)基础页面
(2)创建动画容器:所有动画都应该与容器元素关联
(3)为元素添加样式
应该通过 style = "position: relative"
创建容器元素。(相对定位)
应该通过 style = "position: absolute"
创建动画元素。(绝对定位)
·static(静态定位):默认值。没有定位,元素出现在正常的流中(忽略 top, bottom, left, right 或者 z-index 声明)。
position解释:
·fixed(固定定位):生成绝对定位的元素,相对于浏览器窗口进行定位。元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定。可通过z-index进行层次分级。
·relative(相对定位):生成相对定位的元素(相对于他原来应该在的位置),通过top,bottom,left,right的设置相对于其正常(原先本身)位置进行定位。可通过z-index进行层次分级。
·absolute(绝对定位):生成绝对定位的元素(会脱离文档流),相对于 static 定位以外的第一个父元素进行定位。元素的位置通过 “left”, “top”, “right” 以及 “bottom” 属性进行规定。可通过z-index进行层次分级。
(4)使用 JavaScript 创建动画
我的第一个 JavaScript 动画
红色块从左上角移动到右下角
(四)DOM事件和监听
1.JavaScript 能够在事件发生时执行,比如当用户点击某个 HTML 元素时。
HTML 事件的例子:
• 当用户点击鼠标时
• 当网页加载后
• 当图像加载后
• 当鼠标移至元素上时
• 当输入字段被改变时
• 当 HTML 表单被提交时
• 当用户敲击按键时
在本例中,从事件处理程序调用函数,通过this传递对象参数:
点击此文本!
2.HTML DOM 允许您使用 JavaScript 向 HTML 元素分配事件
3.当用户进入后及离开页面时,会触发 onload 和 onunload 事件。
onload 事件可用于检测访问者的浏览器类型和浏览器版本,然后基于该信息加载网页的恰当版本。
onload 和 onunload 事件可用于处理 cookie。
4.onchange 事件经常与输入字段验证结合使用。
5. onmouseover 和 onmouseout 事件可用于当用户将鼠标移至 HTML 元素上或移出时触发某个函数
onmousedown, onmouseup 以及 onclick 事件构成了完整的鼠标点击事件。
style=“background-color:#D94A38;width:90px;height:20px;padding:40px;”>
点击鼠标
HTML DOM Event 对象手册
https://www.w3school.com.cn/jsref/dom_obj_event.asp
6. addEventListener() 方法
element.addEventListener(event, function, useCapture);
第一个参数是事件的类型(比如 “click” 或 “mousedown”)。
第二个参数是当事件发生时我们需要调用的函数。
第三个参数是布尔值,指定使用事件冒泡还是事件捕获。此参数是可选的。一般用false使用事件冒泡形式。冒泡指从叶节点向外出发,捕获是从根节点向里触发
注意:请勿对事件使用 “on” 前缀;请使用 “click” 代替 “onclick”。
添加当用户点击按钮时触发的事件监听器:
document.getElementById(“myBtn”).addEventListener(“click”, displayDate);
也可以直接写一个匿名function(参数){代码}代替disolayDate的位置
·addEventListener() 方法为指定元素指定事件处理程序。
·addEventListener() 方法为元素附加事件处理程序而不会覆盖已有的事件处理程序。
·您能够向一个元素添加多个事件处理程序。
element.addEventListener(“click”, myFunction);
element.addEventListener(“click”, mySecondFunction);
·您能够向一个元素添加多个相同类型的事件处理程序,例如两个 “click” 事件。
element.addEventListener(“mouseover”, myFunction);
element.addEventListener(“click”, mySecondFunction);
element.addEventListener(“mouseout”, myThirdFunction);
·您能够向任何 DOM 对象添加事件处理程序而非仅仅 HTML 元素,例如 window 对象。addEventListener() 允许您将事件监听器添加到任何 HTML DOM 对象上,比如 HTML 元素、HTML 对象、window 对象或其他支持事件的对象,比如 xmlHttpRequest 对象。
例如添加当用户调整窗口大小时触发的事件监听器:
window.addEventListener(“resize”, function(){
document.getElementById(“demo”).innerHTML = sometext;
});
·addEventListener() 方法使我们更容易控制事件如何对冒泡作出反应。
在 HTML DOM 中有两种事件传播的方法:冒泡和捕获。
算法刷题
大厂面试还是很注重算法题的,尤其是字节跳动,算法是问的比较多的,关于算法,推荐《LeetCode》和《算法的乐趣》,这两本我也有电子版,字节跳动、阿里、美团等大厂面试题(含答案+解析)、学习笔记、Xmind思维导图均可以分享给大家学习。
写在最后
最后,对所以做Java的朋友提几点建议,也是我的个人心得:
-
疯狂编程
-
学习效果可视化
-
写博客
-
阅读优秀代码
-
心态调整
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
(“demo”).innerHTML = sometext;
});
·addEventListener() 方法使我们更容易控制事件如何对冒泡作出反应。
在 HTML DOM 中有两种事件传播的方法:冒泡和捕获。
算法刷题
大厂面试还是很注重算法题的,尤其是字节跳动,算法是问的比较多的,关于算法,推荐《LeetCode》和《算法的乐趣》,这两本我也有电子版,字节跳动、阿里、美团等大厂面试题(含答案+解析)、学习笔记、Xmind思维导图均可以分享给大家学习。
写在最后
最后,对所以做Java的朋友提几点建议,也是我的个人心得:
-
疯狂编程
-
学习效果可视化
-
写博客
-
阅读优秀代码
-
心态调整
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
[外链图片转存中…(img-oH9KUHh0-1713131388998)]
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!