当前位置:首页 > jquery

jquery属性选择器

2026-02-03 14:05:05jquery

jQuery 属性选择器概述

jQuery 属性选择器允许通过 HTML 元素的属性或属性值进行筛选和操作。这些选择器基于 CSS 属性选择器的语法扩展,支持更灵活的匹配方式。

常用属性选择器语法

  1. [attribute]
    选择所有具有指定属性的元素,无论属性值是什么。
    示例:$("[href]") 选中所有包含 href 属性的元素。

  2. [attribute=value]
    选择属性值完全匹配指定值的元素。
    示例:$("[type='text']") 选中所有 type 属性为 text 的元素。

  3. [attribute!=value]
    选择属性值不等于指定值的元素(jQuery 扩展语法)。
    示例:$("[type!='submit']") 排除 typesubmit 的元素。

  4. [attribute^=value]
    选择属性值以指定字符串开头的元素。
    示例:$("[href^='https']") 选中 hrefhttps 开头的链接。

  5. [attribute$=value]
    选择属性值以指定字符串结尾的元素。
    示例:$("[src$='.png']") 选中 src.png 结尾的图片。

    jquery属性选择器

  6. *`[attribute=value] 选择属性值包含指定字符串的元素。 示例:$("[class*='btn']")选中class包含btn` 的元素。

  7. [attribute~=value]
    选择属性值包含指定单词(以空格分隔)的元素。
    示例:$("[class~='active']") 选中 class 包含独立单词 active 的元素。

  8. [attribute|=value]
    选择属性值以指定字符串开头或以该字符串后跟连字符(-)开头的元素。
    示例:$("[lang|='en']") 匹配 langenen-US 的元素。

    jquery属性选择器

组合使用示例

属性选择器可以与其他选择器组合,实现更精确的匹配:

// 选中所有包含 title 属性且 class 为 tooltip 的元素
$("[title].tooltip");

// 选中 type 为 checkbox 且 name 以 user 开头的 input 元素
$("input[type='checkbox'][name^='user']");

注意事项

  • 性能优化:属性选择器通常比基本选择器(如 ID 或类选择器)慢,建议尽量缩小搜索范围。例如,优先使用 $("div[class='box']") 而非 $("[class='box']")
  • 动态属性:若属性是通过 JavaScript 动态添加的,需确保在 DOM 完全加载后操作(如使用 $(document).ready())。
  • 转义特殊字符:若属性值包含 [ ] , " ' 等字符,需用双反斜杠转义。例如:$("[name='foo\\[bar\\]']")

实际应用场景

  1. 表单操作
    快速定位特定类型的表单元素:

    // 禁用所有必填字段
    $("[required]").prop("disabled", true);
  2. 动态样式控制
    根据属性值修改样式:

    // 为外部链接添加图标
    $("a[href^='http']:not([href*='mysite.com'])").addClass("external-link");
  3. 数据属性处理
    利用 data-* 属性存储信息并选择:

    // 选中所有包含 data-user-id 属性的元素
    $("[data-user-id]").on("click", function() {
        const userId = $(this).data("userId");
        console.log(userId);
    });

通过灵活组合属性选择器,可以高效地实现复杂的 DOM 查询和操作。

标签: 属性选择器
分享给朋友:

相关文章

vue实现拖拽属性

vue实现拖拽属性

Vue 实现拖拽功能的方法 Vue 中实现拖拽功能可以通过原生 HTML5 的拖拽 API 或第三方库如 vuedraggable 来完成。以下是两种常见的实现方式: 使用 HTML5 拖拽 API…

vue计算属性如何实现

vue计算属性如何实现

vue计算属性的实现方法 计算属性是Vue中用于处理复杂逻辑的响应式属性,基于依赖的响应式数据自动缓存计算结果。以下是实现计算属性的几种方式: 基础用法 在Vue组件选项中定义computed属性:…

react 如何修改 属性

react 如何修改 属性

修改 React 组件属性的方法 直接通过 props 传递新值 父组件可以通过更新传递给子组件的 props 值来修改属性。子组件会自动重新渲染以反映新的属性值。 // 父组件 function…

react实现计算属性

react实现计算属性

计算属性的概念 计算属性指根据已有状态(state)或属性(props)动态计算出的衍生值,通常用于避免重复计算或保持代码逻辑清晰。React 本身没有类似 Vue 的计算属性机制,但可以通过多种方式…

react计算属性实现

react计算属性实现

实现计算属性的方法 在React中,可以通过以下几种方式实现类似Vue的计算属性功能: 使用useMemo Hook useMemo是React提供的用于缓存计算结果的Hook,适合在函数组件中使用…

js实现选择器

js实现选择器

实现基础选择器 使用 document.querySelector 或 document.querySelectorAll 实现类似 CSS 的选择器功能。前者返回第一个匹配元素,后者返回所有匹配的…