最近發現了jquery的.filter()方法,這真是一個很強大的方法,最強大之處在於,他可以接受一個函數作為參數,然後根據函數的返回值判斷,如果返回值是true,這個元素將會被保留,如果回傳值是false,這個元素將會被剔除。這就是jquery選擇器的過濾器。
空說無用,我們展示一下
程式碼如下:
>
你好啊,今天及多大了啊
為什麼要告訴你
如果我們要選有一個
子元素的元素,平常我都是這麼寫的複製程式碼
程式碼如下:
$("p>span").parent();
現在藉助.filter( ) 我們可以寫成這個樣子:
複製程式碼
程式碼如下:
$("p" ).filter(function(index){
return $(this).find("span").size();
});
雖然看起來有些麻煩,但他提供了我們一種極其強大的自訂查找元素的功能,我們可以傳遞一個函數,然後藉助jquery的隱式迭代,來實現查找。 這是目前我看到的jquery提供的最靈活的查找元素的方法。