sélecteur de fi...LOGIN

sélecteur de filtre de contenu jQuery

jQueryLes règles de filtrage du sélecteur de filtrage de contenu sont principalement utilisées sur les sous-éléments ou leur contenu texte contenu dans l'élément DOM , comprenant principalement les quatre méthodes de filtrage suivantes :

<div>John Resign</div>
<div>George Martin</div>
<div>Malcom John Sinclair</div>
<div>J.Ohn</div>
<div></div>
<p></p>
<div><p>Has p</p></div>

1. Sélecteur de filtrage de contenu——:contains(text)

Sélecteur :

E:contains(text)  //E是指DOM元素,:contains(text)包含的文本,text是指定查找的字符串

Description :

Sélectionner les éléments avec un contenu textuel "text"

Valeur de retour :

élément de collection

Exemple :

<script type="text/javascript">   $(document).ready(function(){
      $('div:contains(John)').css('background','#f36');
   });</script>

Fonction :

Changer la couleur de fond de l'élément div contenant le texte "John"

Effet :

Retour à la structure HTML précédente, nous pouvons voir que deux éléments div contiennent du texte "John", car ici nous changez principalement la couleur d'arrière-plan du div contenant le texte "John", afin que vous puissiez voir par l'effet que la couleur d'arrière-plan de nos premier et troisième divs a changé en "#f36", Afin de mieux comprendre les changements, vous pouvez voir les changements en HTML via l'outil Firebug dans Firefox :

2. Sélecteur de filtrage de contenu - :vide

Sélecteur :

E:empty //其中E为DOM元素,:empty是指DOM元素中不包含任何子元素或文本

Description :

Sélectionne un élément vide sans aucun élément enfant ni texte

Valeur de retour :

Élément de collection

Instance :

<script type="text/javascript">   $(document).ready(function(){
      $('div:empty').css('background','#f36');
   });</script>

Fonction :

Changer la couleur de fond d'un div qui ne contient pas d'éléments enfants (y compris aucun élément de texte), en d'autres termes, change la couleur de fond d'un div qui ne contient rien

Effet :

Bien que tous les éléments de notre HTML précédent ne contiennent pas de sous-éléments, certains contiennent des éléments de texte. Un seul élément div et un p ont aucun élément enfant ni aucun contenu textuel. De plus, dans notre exemple, nous avons uniquement modifié la couleur d'arrière-plan du div qui ne contient pas d'éléments enfants ni de contenu textuel, donc dans notre effet, seul le div a la couleur d'arrière-plan "#f36". :

3. Sélecteur de filtrage de contenu - :has(selector)

sélecteur :

E:has(selector)  //其中E为有效果DOM元素标签,:has(selector)含有一个选择器,selector用于筛选的选择器

Description :

Sélectionnez l'élément contenant l'élément correspondant par le sélecteur

Valeur de retour :

Élément de collection

Exemple :

<script type="text/javascript">   $(document).ready(function(){
      $('div:has(p)').css('background','#f36');
   });</script>

Fonction :

Changer l'arrière-plan de l'élément div contenant l'enfant élément P Couleur

Effet :

Dans notre exemple, un seul div contient le sous-élément P, il contient donc Le la couleur d'arrière-plan de l'élément div demandé est définie sur "#f36" et le code HTML modifié :

4. Sélecteur de filtrage de contenu - :parent

Sélecteur :

E:parent  //E为有效的DOM元素标签,:parent含有子元素或文本内容

Description :

Sélectionner les balises d'élément contenant des éléments enfants ou du texte

Valeur de retour :

Élément de collection

Instance :

<script type="text/javascript">   $(document).ready(function(){
      $('div:parent').css('background','#f36');
   });</script>

Fonction :

Modifiez la couleur d'arrière-plan des divs contenant des éléments enfants ou du contenu textuel. En d’autres termes, tant que le div contient des éléments enfants ou du contenu, sa couleur d’arrière-plan changera.

Effet :

Dans cet exemple, il n'y a qu'un seul élément div et un élément p qui ne contient aucun sous-élément et le contenu du texte, car nous définissons les divs ici, donc l'effet montre qu'à l'exception des deux divs qui ne contiennent pas d'éléments enfants ni de contenu, la couleur d'arrière-plan a été changée en "#f36". Le HTML modifié :

.

section suivante
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> <title></title> <script src="http://code.jquery.com/jquery-3.1.1.min.js"></script> <style> .left { width: auto; height: 120px; } .left div { width: 70px; height: 70px; padding: 5px; margin: 5px; float: left; background: #bbffaa; border: 1px solid #ccc; } .bottom { width: 800px; } .bottom div, .bottom span { display: block; width: 80px; height: 80px; margin: 5px; background: #bbffaa; float: left; font-size: 14px; } .bottom .small { width: 60px; height: 25px; font-size: 12px; background: #fab; } </style> </head> <body> <h2>内容筛选器</h2> <h3>:contains/:has</h3> <div class="left"> <div class="div"> <p>:contains</p> </div> <div class="div"> <p>:contains</p> </div> <div class="div"> <p> <span>:has</span> </p> </div> <div class="div"> <p>:contains</p> </div> </div> <script type="text/javascript"> //查找所有class='div'中DOM元素中包含"contains"的元素节点 //并且设置颜色 $(".div:contains(':contains')").css("color", "#CD00CD"); </script> <script type="text/javascript"> //查找所有class='div'中DOM元素中包含"span"的元素节点 //并且设置颜色 $(".div:has(span)").css("color", "blue"); </script> <h3>:parent/:empty</h3> <div class="left"> <div class="aaron"> <a>:parent</a> </div> <div class="aaron"> <a>:parent</a> </div> <div class="aaron"> <a>:parent</a> </div> <div class="aaron"> <a></a> </div> </div> <script type="text/javascript"> //选择所有a元素,找到对应的父元素 //增加一个蓝色的边框 $("a:parent").css("border", "3px groove blue"); </script> <script type="text/javascript"> //找到a元素下面的所有空节点(没有子元素) //增加一段文本与边框 $("a:empty").text(":empty").css("border", "3px groove red"); </script> </body> </html>
soumettreRéinitialiser le code
chapitredidacticiel