• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >jquery > 实例解析jQuery工具函数

实例解析jQuery工具函数

作者:逆心 字体:[增加 减小] 来源:互联网

逆心 通过本文主要向大家介绍了jquery,工具函数等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

一、$.browser对象属性

  属性列表                  说明

    webkit       webkit相关浏览器则返回true,否则返回false,如google,傲游。

    mozilla       mozilla相关浏览器则返回true,否则返回false,如火狐

       safari         safari相关浏览器则返回true,否则返回false,如safari

       opera        opera相关浏览器则返回true,否则返回false,如opera

       msie        msie相关浏览器则返回true,否则返回false,如IE,360,搜狗

       version       返回对应浏览器的版本

  $(function () {
  if ($.browser.msie) {
  alert("IE浏览器");
  }
  if ($.browser.webkit) {
  alert("webkit浏览器");
  }
  if ($.browser.mozilla) {
  alert("mozilla浏览器");
  }
  if ($.browser.safari) {
  alert("safari浏览器");
  }
  if ($.browser.opera) {
  alert("opera浏览器");
  }
  alert($.browser.version);
 })

二、boxModel

  返回一个布尔值,如果是W3C盒子模型则返回true,否则返回false。

  盒子模型分两类,一类是W3C盒子模型,一类是IE盒子模型。两者的根本区别在于W3C的盒子模型不包括padding与border,仅指content的Height和Width,而IE盒子模型  包含padding与border。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
 <title></title>
 <script src="jQuery.1.8.3.js" type="text/javascript"></script>
 <script type="text/javascript">
 $(function () {
  if ($.support.boxModel) {
  alert("W3C盒子模型!");
  }
  else {
  alert("IE盒子模型!");
  }
 })
 </script>
</head>
<body>
</body>
</html>

  上面的例子弹出W3C盒子模型,如果删除掉顶部的两行,<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">。则弹出的是IE盒子模型。

数组和对象的操作

三、$.each()

  此工具函数不仅能够完成指定数组的遍历,还能够实现页面中元素的遍历。

  语法:$.each(obj,fn(para1,para2))  obj要遍历的数组或对象,fn为每个遍历元素执行的回调函数,para1表示数组的序号或对象的属性,para2表示数组的元素和对象的属性。

$(function () {
  var arr = [1, 2, 3, 4, 5];
  $.each(arr, function (index, value) {
  document.write(index + ":");
  document.write(value + "<br/>");
  });
 })
    输出:
      0:1
      1:2
      2:3
      3:4
      4:5

   $.each()遍历数组。

$(function () {
  var arr = { "张三": "23","李四": 22,"王五": "21" };
  $.each(arr, function (index, value) {
  document.write(index + ":");
  document.write(value + "<br/>");
  });
 })
    输出:张三:23
       李四:22
       王五:21

      元素遍历

<head>
 <title></title>
 <script src="jQuery.1.8.3.js" type="text/javascript"></script>
 <script type="text/javascript">
 $(function () {
  $("p").each(function () {
  $(this).css("background-color", "red");
  });

       //一下三行代码与以上三行效果一样
  //$.each($("p"), function () {
  // $(this).css("background-color", "red");
  //})
 })
 </script>
</head>
<body>
 <p>我是第一个P</p>
 <p>我是第二个P</p>
 <p>我是第三个P</p>
 <p>我是第四个P</p>
 <p>我是第五个P</p>
</body>
</html>

四、$.grep()

  筛选符合条件的元素,返回一个新数组

    语法:$.grep(Arrar,fn(value,index));  要注意下回调函数的参数的顺序,第一个是值,第二个是索引。

       $.grep(Arrar,fn(value,index),[bool]);  第三个参数表示是否取反,true表示取反,false表示不取反。

$(function () {
  var arr = [2, 5, 34, 22, 8];
  var arr1 = $.grep(arr, function(value, index) {
  return index <= 2 && value < 10;
  })
  document.write(arr1.join());  //输出2,5
 })

六、$.map()

改变函数内的数据,接受一个数组或类数组对象作为参数

$(function () {
  var arr = [2, 5, 34, 22, 8];
  var arr1 = $.map(arr, function (value, index) {
  if (value > 5 && index < 3) {
   return value - 10;
  }
  })
  document.write(arr.join() + "<br/>");  //2,5,34,22,8  可以看到原数组不改变
  document.write(arr1.join());        //24  新数组只获得了操作之后的结果
 })

七、$.inArray()

 如果数组中存在被搜索元素,则返回被搜索元素的索引

 $(function () {
  var arr = [1, 2, 3, 4, 5];
  alert($.inArray(4,arr));  //弹出 3
 })

八、$.trim()

  去除字符串两边的空格

 $(function () {
  var str = " 你在他乡还好吗? ";
  document.write("11" + str + "11" + "<br/>");  //输出 11 你在他乡还好吗? 11
  document.write("11" + $.trim(str) + "11");   //输出 11你在他乡还好吗?11    //加个11是为了看清楚差别。
 })

九、测试操作

    $.isArray(obj)    检测参数是否是数组

    $.isFunction(obj)   检测参数是否是一个函数

    $.isEmptyObject(obj)  检测参数是否是一个空对象

    $.isPlainObject(obj)   检测参数是否是一个纯粹对象,即对象是否通过{}或new Object()关键字创建。

    $.contains(container,contained)  检测一个DOM节点是否包含另一个DOM节点。是则返回true否则表示false。注意参数是DOM对象并非jQuery对象。

 $(function () {
  var arr = [1, 2, 3, 2, 1];
  document.write(jQuery.isArray(arr));  //返回true
  var str = "123";
  document.write(jQuery.isArray(str));  //返回false
 })
 $(function () {
  var f = fun1;
  alert($.isFunction(fun1));  //返回true
 })
 function fun1() { }
 $(function () {
  var obj1 = {};
  var obj2 = { name: "张飞" };
  alert($.isEmptyObject(obj1));  //返回true  obj1是空对象
  alert($.isEmptyObject(obj2));  //返回false  obj2不是空对象
 })
 $(function () {
  var obj1 = {};
  var obj2 = { name: "张飞" };
  var obj3 = new Object();
  var obj4 = null;
  alert($.isPlainObject(obj1));  //true  通过{}创建
  alert($.isPlainObject(obj2));  //true  通过{}创建
  alert($.isPlainObject(obj3));  //true  通过new Object()创建
  alert($.isPlainObject(obj4));  //flase  不是通过{}或new Object()创建
 })
 $(function () {
  alert($.contains($("#div1")[0],$("#p1")[0]));  //返回true,注意参数是DOM对象,并非jQuery对象
 })

 十、$.param()

      序列化成url字符串

    $.param(obj,[bool]);  第二个参数为可选参数,表示是否浅层序列化

 $(function () {
  var man = { Name: "张飞", Age: 23 };
  var str = $.param(man);
  document.write(str);      //Name=%E5%BC%A0%E9%A3%9E&Age=23
  var str1 = decodeURI(str);
  document.write("<br>" + str1);  //Name=张飞&Age=23
 })

 十一、$.makeArray()

  将数组或类数组对象的属性复制到一个新的数组(真的是数组)中,并返回该新数组。

 var arr = [1,3,5,7,9];
 $(function () {
  var arr1 = $.makeArray(arr);
  document.write(arr1.join());  //输出 1,3,5,7,9
 })

十二、$.merge()

  该函数接受两个数组或类数组对象,将第二个参数附加到第一个参数上面,返回第一个参数,第一个数组会修改,第二个不会

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 基于jQuery对象和DOM对象和字符串之间的转化实例
  • jquery+css实现简单的图片轮播效果
  • 使用jQuery实现鼠标点击左右按钮滑动切换
  • jQuery实现上传图片前预览效果功能
  • jQuery初级教程之网站品牌列表效果
  • 基于jquery实现多选下拉列表
  • jQuery接受后台传递的List的实例详解
  • 详解jquery选择器的原理
  • jQuery上传插件webupload使用方法
  • 关于jquery form表单序列化的注意事项详解

相关文章

  • 关于jQuery的inArray 方法介绍
  • jquery siblings获取同辈元素用法实例分析
  • 基于jQuery插件实现环形图标菜单旋转切换特效
  • BootStrap中按钮点击后被禁用按钮的最佳实现方法
  • JQuery.Ajax之错误调试帮助信息介绍
  • jQuery Tools tab(幻灯片)
  • 基于jQuery实现的向下滑动二级菜单效果代码
  • 今天抽时间给大家整理jquery和ajax的相关知识
  • jQuery插件FusionCharts绘制2D双折线图效果示例【附demo源码】
  • JQuery拖拽元素改变大小尺寸实现代码

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • jQuery封装的获取Url中的Get参数示例
    • jquery,js简单实现类似Angular.js双向绑定
    • 动感效果的TAB选项卡jquery 插件
    • jQuery常用知识点总结以及平时封装常用函数
    • 初学Jquery插件制作 在SageCRM的查询屏幕隐藏部分行的功能
    • Jquery Easyui自定义下拉框组件使用详解(21)
    • jQuery控制frames及frame页面JS的方法
    • 浅谈jQuery效果函数
    • JQUERY 对象与DOM对象之两者相互间的转换
    • jQuery实现的动态伸缩导航菜单实例

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有