jQuery选择器

Posted 爽走不解释

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery选择器相关的知识,希望对你有一定的参考价值。

我们学习有关如何选取 html 元素,关键点是学习 jQuery 选择器是如何准确地选取您希望应用效果的元素。

先来看一些jQuery选择器的介绍:

什么是jQuery选择器?

选择器,就是用一种方式把你想要的那一个元素选中。把这个元素选中了,你才能对它进行各种操作。
jQuery 选择器和 CSS 选择器几乎完全一样,我们在接下来的学习中应该多对比一下这两者,这样学习速度可以提高很多。

在 javascript 中,如果想要选取元素,只能使用 getElementById()、getElementsByTagName()、getElementsByClassName() 等方法来获取。
这些方法的功能有限,并且名字“又长又臭”

而 jQuery 选择器完全继承了 CSS 选择器的风格,极大地方便了我们的开发。因为它不仅语法简单,而且功能也非常强大。
jQuery 选择器有两类:一类是“基础选择器”,另一类是“伪类选择器”

jQuery选择器优势

简单来所介绍以下几个:

  • 代码更简单
  • 支持CSS1到CSS3选择器
  • 完善的机制处理

jQuery选择器分类

分类基本如下:

通过CSS选择器选取元素

  • 基本选择器
  • 层次选择器
  • 属性选择器

通过过滤选择器选择元素

  • 基本过滤选择器
  • 可见性过滤选择器

这些类别呢又可以分为具体的子类别

基本选择器

基本选择器包括

  1. 标签选择器、
  2. 类选择器、
  3. ID选择器、
  4. 并集选择器、
  5. 全局选择器、

一、标签选择器

标签选择器根据给定的标签名匹配元素

代码示例:

<head>
<meta charset="utf-8"> 
<title>Test</title> 
<script src="js/jquery-1.12.4.js"></script>
<script>
$(document).ready(function()
  $("button").click(function()
    $("p").hide();
  );
);
</script>
</head>

<body>
<h2>这是一个标题</h2>
<p>这是一个段落。</p>
<p>这是另一个段落。</p>
<button>点我隐藏p标签段落</button>
</body>

二、类选择器

类选择器根据给定的class匹配元素

代码示例:

<head>
<meta charset="utf-8"> 
<title>Test</title> 
<script src="js/jquery-1.12.4.js"></script>
<script>
$(document).ready(function()
  $("button").click(function()
   $(".test").css("background":"#efefef","padding":"5px");
  );
);
</script>
</head>

<body>
<h2 class="test">这是一个标题</h2>
<button>点我改变样式</button>
</body>

三、ID选择器

ID选择器根据给定的id匹配元素

代码示例:

<head>
<meta charset="utf-8"> 
<title>Test</title> 
<script src="js/jquery-1.12.4.js"></script>
<script>
$(document).ready(function()
  $("button").click(function()
   $("#test").css("color","#083499");
  );
);
</script>
</head>

<body>
<h2 id="test">这是一个标题</h2>
<button>点我改变颜色</button>
</body>

四、全局选择器

全局选择器可以获取所有元素

代码示例:

<head>
<meta charset="utf-8"> 
<title>Test</title> 
<script src="js/jquery-1.12.4.js"></script>
<script>
$(document).ready(function()
  $("button").click(function()
   $("*").hide();
  );
);
</script>
</head>

<body>
<h2>这是一个标题</h2>
<p>这是另一个段落。</p>
<button>点我隐藏所以</button>
</body>

五、并集选择器

并集选择器用来合并元素集合

<body>
<div id="d1">test</div>
<div id="d2" class="cls">前端开发</div><script>
console.log($('#d1 ' ));
console.log($( 'div'));
console.log($( '.cls'));
//通配符选择器–儿配所有
console.log($('*'));
//组合选择器–多个选择器之间使用逗号分隔(并集)
console.log($('#d1,.cls'));
//组合选择器–多个选择器之间没有任何分隔(交集)
console.log($('#d2.cls'));
</script>
</body>

层次选择器

层次选择器通过DOM 元素之间的层次关系来获取元素

层次选择器包括

  • 后代选择器
  • 子选择器
  • 相邻元素选择器
  • 同辈元素选择器


直接来看代码:

<body>
<div id="parent">
     <div id="child">
     <div id="d6"></div>
     <div id="d1"></div>
     <div id="d2"></div>
     <div id="d4"></div>
     <div id="d5"></div>
</div>
    <div id="child2">
<div id="d3"></div>
    </div>
</div><script>
console.log($('#parent div'));
//父子选择器
console.log($('#parent>div'));
//指定元素的下一个相邻兄弟元素
console.log($('#d1+div'));
//指定元素的后面所有的兄弟元素
console.log($('#d1~div'));
// siblings()方法–获取指定元素所有的兄弟元素(前面+后面)
console.log($('#d1').siblings('div'));
</script>
</body>

属性选择器

属性选择器通过HTML元素的属性来选择元素


代码示例:

<body>
<div id="username" name="d1" class="mydiv"></div>
<div id="password" name="d2" class="mycls"></div>
<div id="d3"></div>
<div class="myd"></div>
<script>
console.log($('div[name]'));
console.log($('div[class=mydiv]'));
//[attr!=value]选择器–包含没有attr属性的元素
console.log($('div[class!=mydiv]'));

console.log($('div[class^=my]'));
//属性过滤选择器组合用法->交集
console.log($('div[name=d1][class^=my]'));

</script>
</body>

可见性过滤选择器

通过元素显示状态来选取元素


代码格式:

$("p:hidden").show();
$("p:visible").hide();

也就是隐藏和显示操作,上面的一些例子中已经用到过了,就不多说了

基本过滤选择器

常用的一些如图,具体例子就不举了 ,用法和上面的都差不多:

更多详情就去参考官方文档哦

以上是关于jQuery选择器的主要内容,如果未能解决你的问题,请参考以下文章

jquery选择器中后代选择器和.find()方法的区别

jQuery/CSS 后代选择器选择太多

jQuery选择器之层级选择器

查找/儿童与后代选择器 jquery 性能差异

jQuery:后代选择器仅适用于一个“隐藏”的 div

jquery-根据现有结果集得到另一个结果集(后代祖先或兄弟元素)