pemilih penapis kandungan jQuery

jQueryPeraturan penapisan pemilih penapisan kandungan digunakan terutamanya pada sub-elemen atau kandungan teksnya yang terkandung dalam elemen DOM , terutamanya termasuk Empat kaedah penapisan berikut:

<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 Pemilih penapisan kandungan——:mengandungi(teks)

Pemilih:

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

Penerangan:

Pilih elemen dengan kandungan teks "teks"

Nilai pulangan:

Elemen koleksi

Contoh:

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

Fungsi:

Tukar warna latar belakang elemen div yang mengandungi teks "John"

Kesan:

Kembali kepada struktur HTML sebelumnya kita dapat melihat bahawa dua elemen div mengandungi Teks "John", kerana di sini kita terutamanya menukar warna latar belakang div yang mengandungi teks "John", supaya anda boleh melihat daripada kesan bahawa warna latar belakang div pertama dan ketiga kami telah berubah kepada "#f36", Untuk memahami perubahan dengan lebih baik, anda boleh lihat perubahan dalam HTML melalui alat Firebug dalam Firefox:

2. Pemilih penapisan kandungan - :kosong

Pemilih:

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

Penerangan:

Memilih elemen kosong tanpa sebarang unsur anak atau teks

Nilai pulangan:

Elemen koleksi

Instance:

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

Fungsi:

Tukar warna latar belakang a div yang tidak mengandungi unsur anak (termasuk tiada unsur teks), dengan kata lain, tukar warna latar belakang div yang tidak mengandungi apa-apa

Kesan:

Walaupun semua elemen dalam html kami sebelum ini tidak mengandungi sub-elemen, sesetengahnya mengandungi elemen teks Hanya satu div dan satu elemen p Tiada unsur anak dan tiada kandungan teks. Di samping itu, dalam contoh kami, kami hanya menukar warna latar belakang div yang tidak mengandungi elemen kanak-kanak dan kandungan teks, jadi dalam kesan kami hanya div yang mempunyai warna latar belakang "#f36". :

3. Pemilih penapisan kandungan - :has(selector)

pemilih :

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

Penerangan:

Pilih elemen yang mengandungi elemen yang dipadankan oleh pemilih

Nilai pulangan:

Elemen koleksi

Contoh:

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

Fungsi:

Tukar latar belakang elemen div yang mengandungi anak elemen P Warna

Kesan:

Dalam contoh kami, hanya satu div mengandungi sub-elemen P, jadi ia mengandungi The warna latar belakang elemen div yang diminta ditetapkan kepada "#f36", dan HTML yang diubah:

4. Pemilih penapisan kandungan - :parent

Pemilih:

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

Penerangan:

Pilih teg elemen yang mengandungi elemen atau teks anak

Nilai pulangan:

Elemen koleksi

Instance:

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

Fungsi:

Tukar warna latar belakang div yang mengandungi unsur kanak-kanak atau kandungan teks. Dalam erti kata lain, selagi div mengandungi sebarang elemen kanak-kanak atau sebarang kandungan, warna latar belakangnya akan berubah.

Kesan:

Dalam contoh ini, terdapat hanya satu div dan satu elemen p yang tidak mengandungi sebarang sub-elemen dan kandungan teks, kerana Kami menetapkan div di sini, jadi kesannya menunjukkan bahawa kecuali untuk dua div yang tidak mengandungi unsur anak atau sebarang kandungan, warna latar belakang telah bertukar kepada "#f36 HTML yang telah diubah:

".

Meneruskan pembelajaran
||
<!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>
  • Cadangan kursus
  • Muat turun perisian kursus