【JQ】【基础核心】【选择器】

本文介绍了jQuery的基本用法,包括代码风格、加载模式及选择器等内容。详细讲解了如何使用jQuery选取DOM元素并操作样式,探讨了不同加载方式的区别,并列举了各种选择器的应用场景。

1.代码风格

1.1$(function(){}) :匿名函数的执行

1.2$("#div1"):选取元素

1.3$("#div1").css('color','red'):添加内联样式

1.4$==JQurey :js封装好的一个对象

2.加载模式

2.1window.onload

全部资源加载完毕

只能执行一次

不能简写

2.2$(document).ready(function(){})

DOM结构加载完毕

可执行多次

可简写$(function(){})

3.对象互换

这里互换指JQurey对象与DOM对象id

选择器

1.最核心,选择器引擎

拓展:

容错功能,很多情况下动态DOM生成会有问题

选择器复杂度,选择器越复杂,字符串解析越慢

id#div1
标签名div
class.div1
后代选择器header.div
子代选择器header>div
第一个:first
最后一个:last
所有偶数:even
所有奇数:odd
根据下标进行选择:eq(n)
根据属性进行选择[title]

<think> 我们正在讨论jQuery(通常简写为jq)中的class选择器使用方法。根据用户要求,我们需要使用中文回答,并且遵守LaTeX格式要求(尽管这个问题可能不涉及太多数学公式,但如果有变量或代码等,需要适当处理)。 用户的问题:我想了解jq中class选择器的使用方法。 在jQuery中,class选择器用于选择具有特定class属性的所有元素。它的语法与CSS的class选择器类似,使用点(.)后跟class名称。 基本语法: ```javascript $(".className") ``` 例如,如果我们有一个HTML页面,其中包含: ```html <div class="example">第一个div</div> <div class="example">第二个div</div> <p class="example">一个段落</p> ``` 那么,使用jQuery的class选择器: ```javascript $(".example") ``` 将选中上面三个元素(两个div和一个p)。 我们还可以结合其他选择器来更精确地选择。例如,只选择div元素中class为"example"的: ```javascript $("div.example") ``` 此外,我们还可以同时匹配多个class。例如,选择同时具有"class1"和"class2"的元素: ```javascript $(".class1.class2") ``` 注意:这里没有空格,表示同时具有这两个class。 而如果使用空格,例如`$(".class1 .class2")`,则表示选择class1元素内部的所有class2元素(后代选择器)。 class选择器也可以和其他选择器组合使用,比如属性选择器、子元素选择器等。 示例:为所有class为"highlight"的元素添加一个边框 ```javascript $(".highlight").css("border", "1px solid red"); ``` 或者,为这些元素绑定点击事件: ```javascript $(".clickable").click(function() { alert("元素被点击了!"); }); ``` 需要注意的是,class选择器返回的是一个jQuery对象,它包含所有匹配的元素。我们可以对这个集合进行各种操作,如修改样式、绑定事件、修改内容等。 另外,使用class选择器时,要确保在DOM加载完成后再执行jQuery代码。通常我们会将代码放在$(document).ready()中: ```javascript $(document).ready(function() { $(".example").css("color", "blue"); }); ``` 或者使用简写形式: ```javascript $(function() { $(".example").css("color", "blue"); }); ``` 关于性能:class选择器是高效的,因为现代浏览器都支持getElementsByClassName方法。但是,尽量避免过度使用,比如在大型文档中频繁使用复杂的class选择器可能会影响性能。 最后,注意class选择器会匹配所有具有该class的元素,不论这个class是直接写在HTML中还是通过JavaScript动态添加的。但是,对于动态添加的元素,如果需要在它们添加之前就绑定事件,则应该使用事件委托。 例如,使用on方法进行事件委托: ```javascript $(document).on("click", ".dynamic-item", function() { // 处理点击事件 }); ``` 这样,即使是后来动态添加的具有"dynamic-item" class的元素,也能响应点击事件。 §§相关问题§§ 1. jQuery中除了class选择器,还有哪些常用的选择器? 2. 如何用jQuery选择具有多个class的元素? 3. jQuery选择器的性能优化有哪些技巧? 4. 如何使用jQuery选择器结合DOM遍历方法? 5. 在jQuery中,如何给动态添加的元素绑定事件? </think> ### jQuery中class选择器的使用方法 在jQuery中,class选择器用于选取具有特定CSS类的元素,其语法为`$(".className")`,其中`className`是目标元素的class名称(不带点号)[^1]。 #### 核心用法示例 ```javascript // 选择所有class="highlight"的元素 $(".highlight").css("background", "yellow"); // 选择同时具有两个class的元素 $(".active.important").addClass("blink"); // 在特定上下文内选择 $("#container .item").fadeOut(); ``` #### 常见操作场景 1. **样式修改** ```javascript $(".warning").css({ "color": "red", "font-weight": "bold" }); ``` 2. **事件绑定** ```javascript $(".btn-submit").click(function() { alert("表单已提交"); }); ``` 3. **DOM操作** ```javascript $(".todo-item").each(function() { $(this).append('<span class="checkmark">✓</span>'); }); ``` #### 注意事项 1. **多类选择** - `$(".classA.classB")`:选择**同时具有**两个类的元素 - `$(".classA, .classB")`:选择**任意一个类**的元素 2. **性能优化** 避免全局选择(`$(".class")`),尽量限定搜索范围: ```javascript // 推荐写法(在#sidebar内查找) $("#sidebar").find(".menu-item"); ``` 3. **动态元素处理** 对新添加的元素需使用事件委托: ```javascript $(document).on("click", ".dynamic-element", handler); ``` #### 与其他选择器对比 | 选择器类型 | 示例 | 用途 | |------------|-----------------|--------------------------| | Class | `$(".test")` | 选择所有class="test"元素 | | ID | `$("#header")` | 选择唯一ID元素 | | 标签 | `$("div")` | 选择所有div元素 | | 属性 | `$("[type=text]")`| 选择特定属性元素 | 掌握class选择器是实现高效DOM操作的基础,尤其适用于批量处理具有相同视觉或行为特征的元素。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值