亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

jQuery內(nèi)容過濾選擇器

jQuery內(nèi)容過濾選擇器的過濾規(guī)則主要運用在DOM元素所包含的子元素或其文本內(nèi)容上,主要包括以下四種過濾方法:

<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>

一、內(nèi)容過濾選擇器——:contains(text)

選擇器:

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

描述:

選取含有文本內(nèi)容為“text”的元素

返回值:

集合元素

實例:

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

功能:

改變含有文本為“John”的div元素的背景色

效果:

回到前面的HTML結(jié)構(gòu)中我們可以看出其中有兩個div元素中包含了"John"文本,因為我們這里主要是改變了包含文本“John”的div的背景色,因此大家在效果中可以看出我們其中第一個和第三個div的背景色變成了"#f36",為了更能體會從中的變化,大家可以通過Firefox中的Firebug工具看出HTML的變化:

二、內(nèi)容過濾選擇器——:empty

選擇器:

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

描述:

選取不含任何子元素或文本的空元素

返回值:

集合元素

實例:

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

功能:

改變不含子元素(包括不含文本元素)的div的背景色,換句話說,就是改變不包含任何東西的div的背景色

效果:

雖然我們前面的html中所有元素中不包含子元素,但有一些包含了文本元素,只有一個div和一個p元素具沒有子元素也沒有文本內(nèi)容。加上我們這個例子中,我們只對不包含子元素和文本內(nèi)容的div進行了改變背景色的設置,所以我們的效果中只有div加上了“#f36”的背景色,同樣我們來看看HTML的變化吧:

三、內(nèi)容過濾選擇器——:has(selector)

選擇器:

E:has(selector)  //其中E為有效果DOM元素標簽,:has(selector)含有一個選擇器,selector用于篩選的選擇器

描述:

選取含有選擇器所匹配的元素的元素

返回值:

集合元素

實例:

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

功能:

改變含有子元素P的div元素的背景色

效果:

在我們這個實例中,只有一個div中包含了子元素P,所以包含了符合這個要求的div元素其背景色被設置為“#f36”,改變后的HTML:

四、內(nèi)容過濾選擇器——:parent

選擇器:

E:parent  //E為有效的DOM元素標簽,:parent含有子元素或文本內(nèi)容

描述:

選取含有子元素或者文本的元素標簽

返回值:

集合元素

實例:

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

功能:

改變含有子元素或文本內(nèi)容的div的背景色。換句話說只在div包含了任何一個子元素或者任何內(nèi)容,其背景色都將會改變。

效果:

本例子,只有一個div和一個p元素中不包含任何子元素和文本內(nèi)容,因為我們這里是對div進行設置,所以效果中顯示,除了這兩個不含有子元素和任何內(nèi)容的div的背景色都變成了“#f36”,變化后的HTML:

繼續(xù)學習
||
<!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>內(nèi)容篩選器</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"的元素節(jié)點 //并且設置顏色 $(".div:contains(':contains')").css("color", "#CD00CD"); </script> <script type="text/javascript"> //查找所有class='div'中DOM元素中包含"span"的元素節(jié)點 //并且設置顏色 $(".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元素下面的所有空節(jié)點(沒有子元素) //增加一段文本與邊框 $("a:empty").text(":empty").css("border", "3px groove red"); </script> </body> </html>
提交重置代碼