jQuery属性筛选选择器:精确匹配与包含匹配实战

作者:橙子时间:2026-10-22 08:28:15浏览:409

本文详解jQuery中[attr="value"]与[attr*="value"]两种核心属性筛选选择器的用法。前者用于精确定位如input[type="text"]等特定类型元素,常用于表单操作;后者用于匹配属性值包含指定子字符串的情况,适用于文件类型匹配等场景。结合示例代码,帮助开发者高效处理DOM元素筛选。

jQuery属性筛选选择器核心用法

jQuery属性筛选选择器核心用法

在jQuery提供的众多属性选择器中,[attr="value"]与[attr*="value"]因其高频实用性而备受推崇。

精确匹配[attr]在表单中的应用

[attr="value"]选择器可用于精准定位具有特定属性值的各类元素,尤其在处理表单(form)元素时表现突出。例如,通过input[type="text"]或input[type="checkbox"]等语法,可以准确选取文本框或复选框等特定类型的输入控件。

包含匹配[attr*=]在文件识别中的应用

[attr*="value"]选择器则用于匹配属性值中包含指定子字符串的元素。在实际网站开发中,这一特性常被用来识别和匹配不同类型的文件链接或资源。


<!DOCTYPE html>
<html>

<head>
  <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  <title></title>
  <link rel="stylesheet" href="imooc.css" rel="external nofollow" type="text/css">
  <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
</head>

<body>
  <h2>属性筛选选择器</h2>
  <h3>[att=val]、[att]、[att|=val]、[att~=val]</h3>
  <div class="left" testattr="true" >
    <div class="div" testattr="true" name='p1'>
      <a>[att=val]</a>
    </div>
    <div class="div" testattr="true" p2>
      <a>[att]</a>
    </div>
    <div class="div" testattr="true" name="-">
      <a>[att|=val]</a>
    </div>
    <div class="div" testattr="true" name="a b">
      <a>[att~=val]</a>
    </div>
  </div>

  <script type="text/javascript">
     //查找所有div中,属性name=p1的div元素
     $("div[name = p1]").css("border", "3px groove red"); 
  </script>

  <script type="text/javascript">
    //查找所有div中,有属性p2的div元素
    $("div[p2]").css("border", "3px groove blue"); 
  </script>

  <script type="text/javascript">
    //查找所有div中,有属性name中的值只包含一个连字符“-”的div元素
    $("div[name|='-']").css("border", "3px groove #00FF00"); 
  </script>

  <script type="text/javascript">
    //查找所有div中,有属性name中的值包含一个连字符“空”和“a”的div元素
    $("div[name~='a']").css("border", "3px groove #668B8B"); 
  </script>


  <h3>[att^=val]、[att*=val]、[att$=val]、[att!=val]</h3>
  <div class="left" testattr="true" >
    <div class="div" testattr="true" name='imooc-aaorn'>
      <a>[att^=val]</a>
    </div>
    <div class="div" testattr="true" name='aaorn-imooc'>
      <a>[att$=val]</a>
    </div>
    <div class="div" testattr="true" name="attr-test-selector">
      <a>[att*=val]</a>
    </div>
    <div class="div" name="a b">
      <a>[att!=val]</a>
    </div>
  </div>


  <script type="text/javascript">
     //查找所有div中,属性name的值是用imooc开头的
     $("div[name ^= imooc]").css("border", "3px groove red"); 
  </script>

  <script type="text/javascript">
     //查找所有div中,属性name的值是用imooc结尾的
     $("div[name $= imooc]").css("border", "3px groove blue"); 
  </script>

  <script type="text/javascript">
    //查找所有div中,有属性name中的值包含一个test字符串的div元素
    $("div[name*='test']").css("border", "3px groove #00FF00"); 
  </script>

  <script type="text/javascript">
    //查找所有div中,有属性testattr中的值没有包含"true"的div
    $("div[testattr != 'true']").css("border", "3px groove #668B8B"); 
  </script>


</body>

</html>

以上内容即为jQuery属性筛选选择器的核心用法分享,旨在为读者提供实用的参考。若觉得内容有帮助,欢迎继续支持本站获取更多技术资源。

作者最新文章