就是contains這個函數,書上介紹說這個函數是按照元素的內容來來篩選選擇的元素集,當我運行代碼的時候老是報錯,後來發現是函數庫裡沒有這個函數,於是自己寫了這個函數。
代碼如下:
復制代碼 代碼如下:
function yhCheckIsIncludingValue(element , pattern)
{
var bool = false;
var childrenNodes = element.childNodes;
if (childrenNodes.length == 0)
{
if (element.nodeValue != null)
{
if (pattern.exec(element.nodeValue) != null)
{
return true;
}
}
}
if (childrenNodes.length != 0)
{
for (var i = 0 ; i < childrenNodes.length ; i++)
{
if (bool = yhCheckIsIncludingValue(childrenNodes , pattern)) break;
}
}
return bool;
}
//在函數鏈應用這個函數
$.fn.contains = function(text)
{
var text = $.trim(text);
if (text == 'undefined') return this;
var pattern = new RegExp(text , 'i');
return this.filter(function(){
return yhCheckIsIncludingValue(this , pattern);
});
}
在IE浏覽器上運行正常,不知道其他的浏覽器會出現什麼情況?