jquery id选择器和class选择器的区别

本文介绍了jQuery中使用ID和class选择器的区别,包括它们的数量限制、兼容性和通用性,并解释了如何正确使用这些选择器来操作DOM元素。
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="jquery-2.1.4.js"></script>
    <script>
        $(function(){
            alert($('.box').size());  //返回2
        });
    </script>
</head>
<body>
<p class="box">hello</p>
<p class="box">world</p>
</body>
</html>

size() 方法返回DOM对象的个数

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="jquery-2.1.4.js"></script>
    <script>
        $(function(){
            alert($('#box').size());  //只能获得一个id=box的DOM对象,返回1
        });
    </script>
</head>
<body>
<p id="box">hello</p>
<p id="box">world</p>
</body>
</html>

id是唯一的,即使有多个id相同的元素,jquery选择器也只能获取其中一个 。所以:想在jquery中对id设置动作, id在页面中只允许出现一次。

对于CSS样式来说,可以选取页面中所有id=box的DOM对象

  1. 兼容性:ID兼容,class 不兼容IE6,7,8

  2. 数量: 通过ID只能获取一个dom元素,通过class可以获取一组元素。

  3. 通用性:ID不能重复,class可以重复,所以class比较好用,这也是jQuery能被广泛应该的原因(选择器好)。


### 类选择器 ID 选择器区别jQuery 中,类选择器(`.class`) ID 选择器(`#id`)是两种常见的选择器类型,它们在功能使用方式上存在显著差异。 #### 1. 唯一性与匹配范围 ID 选择器用于匹配具有特定 `id` 属性的元素。由于 `id` 属性在 HTML 文档中必须是唯一的,因此 ID 选择器只会匹配一个元素(如果存在)。例如,`$("#title")` 会匹配 `id` 为 `title` 的唯一元素。这种唯一性使得 ID 选择器的性能通常优于类选择器,因为浏览器可以通过原生的 `document.getElementById()` 方法快速定位目标元素[^3]。 相比之下,类选择器用于匹配具有指定类名的元素集合。一个类名可以被多个元素共享,因此类选择器可能会匹配多个元素。例如,`$(".highlight")` 会匹配所有具有 `highlight` 类的元素。由于类选择器的匹配范围更广,其性能通常不如 ID 选择器[^3]。 #### 2. 使用场景 ID 选择器适用于需要对单个特定元素进行操作的场景。例如,修改某个特定标题的样式或绑定事件处理程序时,可以使用 ID 选择器精准定位目标元素。以下代码将 `id` 为 `title` 的元素的文本颜色设置为红色: ```javascript $("#title").css("color", "red"); ``` 类选择器则适用于需要对一组具有相同类名的元素进行统一操作的场景。例如,高亮显示所有需要关注的段落时,可以使用类选择器: ```javascript $(".highlight").css("background-color", "yellow"); ``` #### 3. 选择器的灵活性 类选择器支持更复杂的匹配规则。例如,可以结合多个类名进行筛选,或者与其他选择器组合使用。例如,`$("div.my-class")` 会匹配所有具有 `my-class` 类的 `div` 元素。此外,类选择器还可以与伪类选择器结合使用,例如 `$(".my-class:first")` 会匹配第一个具有 `my-class` 类的元素。 相比之下,ID 选择器的灵活性较低,因为其只能匹配单个元素。然而,这种限制也带来了更高的效率,因为浏览器可以快速定位到目标元素。 #### 4. 代码示例 以下是一个完整的示例,展示如使用 jQuery 的类选择器 ID 选择器: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>jQuery选择器ID 选择器示例</title> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> $(document).ready(function() { // 使用 ID 选择器修改特定元素的样式 $("#title").css("color", "red"); // 使用类选择器修改多个元素的样式 $(".highlight").css("background-color", "yellow"); }); </script> </head> <body> <h1 id="title">这是一个标题</h1> <p class="highlight">这是一个需要高亮的段落。</p> <p class="highlight">这是另一个需要高亮的段落。</p> </body> </html> ``` 在上述代码中,`$(document).ready()` 确保文档加载完成后才执行选择器操作,避免因 DOM 未加载完成而导致选择器无法找到目标元素。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值