php實現(xiàn)jQuery擴展函數(shù)
更新時間:2009年10月30日 20:29:02 作者:
今天在運行書上的jQuery代碼時,不知道是書上弄錯了,還是我的jQuery版本的問題,例子上面有一個jQuery函數(shù)不存在。
就是contains這個函數(shù),書上介紹說這個函數(shù)是按照元素的內(nèi)容來來篩選選擇的元素集,當我運行代碼的時候老是報錯,后來發(fā)現(xiàn)是函數(shù)庫里沒有這個函數(shù),于是自己寫了這個函數(shù)。
代碼如下:
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;
}
//在函數(shù)鏈應(yīng)用這個函數(shù)
$.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瀏覽器上運行正常,不知道其他的瀏覽器會出現(xiàn)什么情況?
代碼如下:
復(fù)制代碼 代碼如下:
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;
}
//在函數(shù)鏈應(yīng)用這個函數(shù)
$.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瀏覽器上運行正常,不知道其他的瀏覽器會出現(xiàn)什么情況?
相關(guān)文章
PHP實現(xiàn)截取中文字符串不出現(xiàn)?號的解決方法
這篇文章主要介紹了PHP實現(xiàn)截取中文字符串不出現(xiàn)?號的解決方法,涉及php字符串遍歷及編碼轉(zhuǎn)換等相關(guān)操作技巧,需要的朋友可以參考下2016-12-12

