概述
符合包含給定文字的元素
參數
textStringV1.1.4
一個用以尋找的字串
範例
描述:
找出所有包含"John" 的div 元素
HTML 程式碼:
<div>John Resig</div> <div>George Martin</div> <div>Malcom John Sinclair</div> <div>J. Ohn
jQuery 程式碼:
##
$("div:contains('John')")結果:
[ <div>John Resig</div>, <div>Malcom John Sinclair</div> ]
實例程式碼:實例一:
<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.jb51.net/" /> <title>脚本之家</title> <script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("button").click(function(){ $("li:contains('html')").css("color","blue") }) }) </script> </head> <body> <ul> <li>html专区</li> <li>div+css专区</li> <li>Jquery专区</li> <li>Javascript专区</li> <li>html5专区</li> </ul> <button>点击查看效果</button> </body> </html>
以上程式碼能夠將包含「html」的li元素中的文字顏色設定為藍色。
jQuery中的:contains(text)
<body> <div> 我 </div><script> $(function(){ $(':contains(你)').css('background','lime'); });</script> </body>:contains 選擇器選取包含指定字串的元素。 (W3school)我想選擇包含「你」這個字串的元素,顯然頁面中沒有符合條件的,但是頁面也變成了綠色。 以下兩個也可以讓頁面變成綠色(瞎試的) $(':even').css('background','lime'); $(':odd').css('background','lime '); 請問這是為什麼呢?謝謝。 1.:contains('你')頁畫為什麼會變成綠色? 因為你的script標籤在html畫面上,jquery在尋找元素時會整個畫面找到。然後找到script裡面有個'你',就是你寫的那段javascript程式碼,程式把它當作text來處理了暫時:
$(function(){ $(':contains(你)').css('background','lime'); });所以:contains(你)應該會找到三個元素: html,body,以及這個script三個元素,將這三個元素樣式加上background,當然script不支援加了也沒用。 2.$(':even').css('background','lime'); $(':odd').css('background','lime'); 畫面為什麼會變成綠色? $(':even')會選取html,$(':odd')會選取body,設定這兩個元素的background當然會有作用了。 另外一點補充:關於第一點,如果你把你的js程式碼寫在一個js檔案中然後透過script標籤引入就不會出現這樣的問題了。如果是
以上是JQuery :contains(text)選擇器使用案例的詳細內容。更多資訊請關注PHP中文網其他相關文章!