php实现jQuery扩展函数
更新时间:2009年10月30日 20:29:02 作者:
今天在运行书上的jQuery代码时,不知道是书上弄错了,还是我的jQuery版本的问题,例子上面有一个jQuery函数不存在。
就是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浏览器上运行正常,不知道其他的浏览器会出现什么情况?
代码如下:
复制代码 代码如下:
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浏览器上运行正常,不知道其他的浏览器会出现什么情况?
相关文章
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
这篇文章主要介绍了PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法,需要的朋友可以参考下2014-05-05PHP函数篇详解十进制、二进制、八进制和十六进制转换函数说明
中文字符编码研究系列第一期,PHP函数篇详解十进制、二进制、八进制和十六进制互相转换函数说明,主要掌握各进制转换的方法,以应用于实际开发2011-12-12php array_map使用自定义的函数处理数组中的每个值
这篇文章主要介绍了php array_map使用自定义的函数处理数组中的每个值的相关资料,需要的朋友可以参考下2016-10-10用js进行url编码后用php反解以及用php实现js的escape功能函数总结
这次第一次用smarttemplate这个模板,比smarty小巧了很多,但也有些不方便的地方。2010-02-02
最新评论