php实现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浏览器上运行正常,不知道其他的浏览器会出现什么情况?

(0)

相关推荐

  • php实现jQuery扩展函数

    就是contains这个函数,书上介绍说这个函数是按照元素的内容来来筛选选择的元素集,当我运行代码的时候老是报错,后来发现是函数库里没有这个函数,于是自己写了这个函数. 代码如下: 复制代码 代码如下: function yhCheckIsIncludingValue(element , pattern) { var bool = false; var childrenNodes = element.childNodes; if (childrenNodes.length == 0) { if

  • jquery 屏蔽一个区域内的所有元素,禁止输入

    jquery 扩展函数: 复制代码 代码如下: <script type="text/javascript"> (function($) { $.fn.disable = function() { /// <summary> /// 屏蔽所有元素 /// </summary> /// <returns type="jQuery" /> return $(this).find("*").each(fu

  • 工作中常用的js、jquery自定义扩展函数代码片段汇总

    仅记录一些我工作中常用的自定义js函数. 1.获取URL请求参数 //根据URL获取Id function GetQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var r = window.location.search.substr(1).match(reg); if (r != null) return unescape(r[2]);

  • jQuery的实现原理的模拟代码 -4 重要的扩展函数 extend

    jQuery.fn.extend 提供了一个扩展机制,可以方便我们通过一个或者多个示例对象来扩展某个对象.如果没有指定被扩展的对象,那么将扩展到自己身上. jQuery.extend 也可以通过 jQuery.fn.extend 使用, 在 jQuery 中使用很多,用来为一个目标对象扩展成员,扩展的成员来自于一系列参考对象. 这样,如果我们需要为 jQuery.fn 扩展成员 removeData,就可以这样进行. 复制代码 代码如下: jQuery.fn.extend( { removeDa

  • Jquery 扩展方法

    网上搜索了信息在编写JQUERY扩展方法有两种,一种是使用jquery.fn.extend,一种是jquery.extend. jquery.fn表示jquery.prototype,,给jquery对象添加方法.刚好用到扩展方法,并且使用jquery.fn,这里就写下jquery.fn的用法,这些网上很多,蛮写蛮写 比如当点击 button时弹出一个textbox的值加一个参数值 复制代码 代码如下: jquery.fn.extend({ alertMessage:function(messa

  • jQuery 2.0.3 源码分析之core(一)整体架构

    拜读一个开源框架,最想学到的就是设计的思想和实现的技巧. 废话不多说,jquery这么多年了分析都写烂了,老早以前就拜读过, 不过这几年都是做移动端,一直御用zepto, 最近抽出点时间把jquery又给扫一遍 我也不会照本宣科的翻译源码,结合自己的实际经验一起拜读吧! github上最新是jquery-master,加入了AMD规范了,我就以官方最新2.0.3为准 整体架构 jQuery框架的核心就是从HTML文档中匹配元素并对其执行操作. 例如: 复制代码 代码如下: $().find().

  • jQuery动画特效实例教程

    本文以实例形式详细讲述了jQuery动画特效的实现方法.分享给大家供大家参考之用.具体方法如下: 1.自制折叠内容块 内容块如下: <div class="module"> <div class="caption"> <span>标题</span> <img src="rollup.gif" alt="rollup" title="rolls up this mo

  • JQuery表单验证插件EasyValidator用法分析

    本文实例讲述了JQuery表单验证插件EasyValidator用法.分享给大家供大家参考.具体如下: 本插件的宗旨是:用户无需写一行JS验证代码,只需在要验证的表单中加入相应的验证属性即可,让验证功能易维护,可扩展,更容易上手. DEMO中已经包含了常用的正则表达式,可以直接复用,为了考虑扩展性,所以针对不同用户特殊需求,自行写正则吧. EasyValidator实现的功能: 1.提示功能(在表单或者其他标签中加入tip="想提示的文字") 如: 复制代码 代码如下: <inp

  • jQuery 表单验证扩展代码(二)

    一. 存在的问题 在上篇中我已经提到过,验证提示打算用文本和样式两种方式来显示提示消息,这两种提示都只能单独使用,于是新的跟新内容做了一些扩展,使得两者可以共用.前一篇写的是否必填项这个验证只是正对 Text, TextArea 这两个表单元素,在新的扩展中同时也支持了radio,checkbox 两个元素. 二. 验证参数的设计 基于多重选择的考虑,扩展了一些有必要的参数,参数列表如下: required: 是否为必填项,true 和 false ,true 表示为必填项 (*) onFocu

  • jQuery.extend 函数及用法详细

    jquery.extend函数详解 JQuery的extend扩展方法: Jquery的扩展方法extend是我们在写插件的过程中常用的方法,该方法有一些重载原型,在此,我们一起去了解了解. 一.Jquery的扩展方法原型是: extend(dest,src1,src2,src3...); 它的含义是将src1,src2,src3...合并到dest中,返回值为合并后的dest,由此可以看出该方法合并后,是修改了dest的结构的.如果想要得到合并的结果却又不想修改dest的结构,可以如下使用:

随机推荐