如果在文档没有完全加载之前就运行函数,操作可能失败。
(三)jQuery选择器
1.选择器允许您对元素组或单个元素进行操作。
2. jQuery 元素选择器
jQuery 使用 CSS 选择器来选取 HTML 元素。
$(“p”) 选取 <p>
元素。
$(“p.intro”) 选取所有 class=“intro” 的 <p>
元素。
$(“p#demo”) 选取所有 id=“demo” 的 <p>
元素。
3. jQuery 属性选择器
jQuery 使用 XPath 表达式来选择带有给定属性的元素。
$(“[href]”) 选取所有带有 href 属性的元素。
$(“[href=’#’]”) 选取所有带有 href 值等于 “#” 的元素。
$(“[href!=’#’]”) 选取所有带有 href 值不等于 “#” 的元素。
( " [ h r e f (“[href (”[href=’.jpg’]") 选取所有 href 值以 “.jpg” 结尾的元素。
4. jQuery CSS 选择器
jQuery CSS 选择器可用于改变 HTML 元素的 CSS 属性。
下面的例子把所有 p 元素的背景颜色更改为红色:
$(“p”).css(“background-color”,“red”);
5.选择器手册
| jQuery选择器 | 实例 | 选取 |
| — | — | — |
| * | $(“*”) | 所有元素 |
| #id | $(“#lastname”) | id=“lastname” 的元素 |
| .class | $(“.intro”) | 所有 class=“intro” 的元素 |
| element | $(“p”) | 所有
元素
|
| .class.class | $(“.intro.demo”) | 所有 class=“intro” 且 class=“demo” 的元素 |
| | | |
| :first | $(“p:first”) | 第一个
元素
|
| :last | $(“p:last”) | 最后一个
元素
|
| :even | $(“tr:even”) | 所有偶数 |
| :odd | $(“tr:odd”) | 所有奇数 |
| | | |
| :eq(index) | $(“ul li:eq(3)”) | 列表中的第四个元素(index 从 0 开始) |
| :gt(no) | $(“ul li:gt(3)”) | 列出 index 大于 3 的元素 |
| :lt(no) | $(“ul li:lt(3)”) | 列出 index 小于 3 的元素 |
| :not(selector) | $(“input:not(:empty)”) | 所有不为空的 input 元素 |
| | | |
| :header | $(“:header”) | 所有标题元素
-
==
|
| :animated | $(“:animated”) | 所有动画元素 |
| | | |
| :contains(text) | $(“:contains(‘W3School’)”) | 包含指定字符串的所有元素 |
| :empty | $(“:empty”) | 无子(元素)节点的所有元素 |
| :hidden | $(“p:hidden”) | 所有隐藏的
元素
|
| :visible | $(“table:visible”) | 所有可见的表格 |
| | | |
| s1,s2,s3 | $(“th,td,.intro”) | 所有带有匹配选择的元素 |
| | | |
| [attribute] | $(“[href]”) | 所有带有 href 属性的元素 |
| [attribute=value] | $(“[href=’#’]”) | 所有 href 属性的值等于 “#” 的元素 |
| [attribute!=value] | $(“[href!=’#’]”) | 所有 href 属性的值不等于 “#” 的元素 |
| [attribute$=value] | ( " [ h r e f (“[href (”[href=’.jpg’]") | 所有 href 属性的值包含以 “.jpg” 结尾的元素 |
| | | |
| :input | $(“:input”) | 所有 元素 |
| :text | $(“:text”) | 所有 type=“text” 的 元素 |
| :password | $(“:password”) | 所有 type=“password” 的 元素 |
| :radio | $(“:radio”) | 所有 type=“radio” 的 元素 |
| :checkbox | $(“:checkbox”) | 所有 type=“checkbox” 的 元素 |
| :submit | $(“:submit”) | 所有 type=“submit” 的 元素 |
| :reset | $(“:reset”) | 所有 type=“reset” 的 元素 |
| :button | $(“:button”) | 所有 type=“button” 的 元素 |
| :image | $(“:image”) | 所有 type=“image” 的 元素 |
| :file | $(“:file”) | 所有 type=“file” 的 元素 |
| | | |
| :enabled | $(“:enabled”) | 所有激活的 input 元素 |
| :disabled | $(“:disabled”) | 所有禁用的 input 元素 |
| :selected | $(“:selected”) | 所有被选取的 input 元素 |
| :checked | $(“:checked”) | 所有被选中的 input 元素 |
元素 元素
:checked
$(“:checked”) 所有被选中的 input 元素
(四)jQuery事件
1.jQuery 是为事件处理特别设计的。jQuery 事件处理方法是 jQuery 中的核心函数。
事件处理程序指的是当 HTML 中发生某些事件时所调用的方法。
通常会把 jQuery 代码放到 部分的事件处理方法中
2. 当按钮的点击事件被触发时会调用一个函数:
$(“button”).click(function() {…some code… } )
3.名称冲突
jQuery 使用 $ 符号作为 jQuery 的简介方式。
某些其他 JavaScript 库中的函数(比如 Prototype)同样使用 $ 符号。
jQuery 使用名为 noConflict() 的方法来解决该问题。
var jq=jQuery.noConflict()
,帮助您使用自己的名称(比如 jq)来代替 $ 符号。或者默认的有jQuery就等价$(不需要.noConflict())。
结论
由于 jQuery 是为处理 HTML 事件而特别设计的,那么当您遵循以下原则时,您的代码会更恰当且更易维护:
·把所有 jQuery 代码置于事件处理函数中
·把所有事件处理函数置于文档就绪事件处理器中
·把 jQuery 代码置于单独的 .js 文件中
·如果存在名称冲突,则重命名 jQuery 库
4. jQuery 事件
| 方法 | 描述 |
| — | — |
| bind() | 向匹配元素附加一个或更多事件处理器 |
| blur() | 触发、或将函数绑定到指定元素的 blur 事件 |
| change() | 触发、或将函数绑定到指定元素的 change 事件 |
| click() | 触发、或将函数绑定到指定元素的 click 事件 |
| dblclick() | 触发、或将函数绑定到指定元素的 double click 事件 |
| delegate() | 向匹配元素的当前或未来的子元素附加一个或多个事件处理器 |
| die() | 移除所有通过 live() 函数添加的事件处理程序。 |
| error() | 触发、或将函数绑定到指定元素的 error 事件 |
| event.isDefaultPrevented() | 返回 event 对象上是否调用了 event.preventDefault()。 |
| event.pageX | 相对于文档左边缘的鼠标位置。 |
| event.pageY | 相对于文档上边缘的鼠标位置。 |
| event.preventDefault() | 阻止事件的默认动作。 |
| event.result | 包含由被指定事件触发的事件处理器返回的最后一个值。 |
| event.target | 触发该事件的 DOM 元素。 |
| event.timeStamp | 该属性返回从 1970 年 1 月 1 日到事件发生时的毫秒数。 |
| event.type | 描述事件的类型。 |
| event.which | 指示按了哪个键或按钮。 |
| focus() | 触发、或将函数绑定到指定元素的 focus 事件 |
| keydown() | 触发、或将函数绑定到指定元素的 key down 事件 |
| keypress() | 触发、或将函数绑定到指定元素的 key press 事件 |
| keyup() | 触发、或将函数绑定到指定元素的 key up 事件 |
| live() | 为当前或未来的匹配元素添加一个或多个事件处理器 |
| load() | 触发、或将函数绑定到指定元素的 load 事件 |
| mousedown() | 触发、或将函数绑定到指定元素的 mouse down 事件 |
| mouseenter() | 触发、或将函数绑定到指定元素的 mouse enter 事件 |
| mouseleave() | 触发、或将函数绑定到指定元素的 mouse leave 事件 |
| mousemove() | 触发、或将函数绑定到指定元素的 mouse move 事件 |
| mouseout() | 触发、或将函数绑定到指定元素的 mouse out 事件 |
| mouseover() | 触发、或将函数绑定到指定元素的 mouse over 事件 |
| mouseup() | 触发、或将函数绑定到指定元素的 mouse up 事件 |
| one() | 向匹配元素添加事件处理器。每个元素只能触发一次该处理器。 |
| ready() | 文档就绪事件(当 HTML 文档就绪可用时) |
| resize() | 触发、或将函数绑定到指定元素的 resize 事件 |
| scroll() | 触发、或将函数绑定到指定元素的 scroll 事件 |
| select() | 触发、或将函数绑定到指定元素的 select 事件 |
| submit() | 触发、或将函数绑定到指定元素的 submit 事件 |
| toggle() | 绑定两个或多个事件处理器函数,当发生轮流的 click 事件时执行。 |
| trigger() | 所有匹配元素的指定事件 |
| triggerHandler() | 第一个被匹配元素的指定事件 |
| unbind() | 从匹配元素移除一个被添加的事件处理器 |
| undelegate() | 从匹配元素移除一个被添加的事件处理器,现在或将来 |
| unload() | 触发、或将函数绑定到指定元素的 unload 事件 |
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
最后
你要问前端开发难不难,我就得说计算机领域里常说的一句话,这句话就是『难的不会,会的不难』,对于不熟悉某领域技术的人来说,因为不了解所以产生神秘感,神秘感就会让人感觉很难,也就是『难的不会』;当学会这项技术之后,知道什么什么技术能做到什么做不到,只是做起来花多少时间的问题而已,没啥难的,所以就是『会的不难』。
我特地针对初学者整理一套前端学习资料,免费分享给大家,戳这里即可免费领取
最后
你要问前端开发难不难,我就得说计算机领域里常说的一句话,这句话就是『难的不会,会的不难』,对于不熟悉某领域技术的人来说,因为不了解所以产生神秘感,神秘感就会让人感觉很难,也就是『难的不会』;当学会这项技术之后,知道什么什么技术能做到什么做不到,只是做起来花多少时间的问题而已,没啥难的,所以就是『会的不难』。
我特地针对初学者整理一套前端学习资料,免费分享给大家,戳这里即可免费领取
[外链图片转存中…(img-Vh9JHmLy-1712160877520)]