今天在運行書上的jQuery代碼時,不知道是書上弄錯了,還是我的jQuery版本的問題,例子上面有一個jQuery函數不存在,就是contains這個函數,書上介紹說這個函數是按照元素的內容來來篩選選擇的元素集,當我運行代碼的時候老是報錯,後來發現是函數庫裡沒有這個函數,於是自己寫了這個函數。
代碼如下:
[php]
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);
});
}
[/php]
在IE浏覽器上運行正常,不知道其他的浏覽器會出現什麼情況?