jquery学习随笔(工具函数)

在jQuery 中,字符串的工具函数只有一个,就是去除字符串左右空格的工具函数:$.trim()。

//$.trim()去掉字符串两边空格
var str = ‘ jQuery ‘;
alert(str);
alert($.trim(str));

jQuery 为处理数组和对象提供了一些工具函数,这些函数可以便利的给数组或对象进行遍历、筛选、搜索等操作。

//$.each()遍历数组
var arr = [‘张三‘, ‘李四‘, ‘王五‘, ‘马六‘];
$.each(arr, function (index, value) {
$(‘#box‘).html($(‘#box‘).html() + index + ‘.‘ + value + ‘<br />‘);
});
//$.each()遍历对象
$.each($.ajax(), function (name, fn) {
$(‘#box‘).html($(‘#box‘).html() + name + ‘.‘ + ‘<br /><br />‘);
})
注意:$.each()中index 表示数组元素的编号,默认从0 开始。       $.ajax()返回jqxhr对象,具有方法和属性
//$.grep()数据筛选
var arr = [5,2,9,4,11,57,89,1,23,8];
var arrGrep = $.grep(arr, function (element, index) {
return element < 6 && index < 5;
});
alert(arrGrep);
注意:$.grep()方法的index 是从0 开始计算的。    i代表元素索引值
//$.map()修改数据
var arr = [5,2,9,4,11,57,89,1,23,8];          使用这个方法如果return index,返回的是一个布尔值,需要使用判断,在进行返回所需要的数据
var arrMap = $.map(arr, function (element, index) {
if (element < 6 && index < 5) {
return element + 1;
}
});
alert(arrMap);
//$.inArray()获取查找到元素的下标
var arr = [5,2,9,4,11,57,89,1,23,8];
var arrInArray = $.inArray(1, arr);
alert(arrInArray);
注意:$.inArray()的下标从0 开始计算。
//$.merge()合并两个数组
var arr = [5,2,9,4,11,57,89,1,23,8];
var arr2 = [23,2,89,3,6,7];
alert($.merge(arr, arr2));
//$.unique()删除重复的DOM 元素
<div></div>
<div></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div></div>
var divs = $(‘div‘).get();
divs = divs.concat($(‘.box‘).get());
alert($(divs).size());
$.unique(divs);
alert($(divs).size());
//.toArray()合并多个DOM 元素组成数组
alert($(‘li‘).toArray());

 在jQuery 中,数据有着各种类型和状态。有时,我们希望能通过判断数据的类型和状态做相应的操作。jQuery 提供了五组测试用的工具函数。

//判断是否为数组对象
var arr = [1,2,3];
alert($.isArray(arr));
//判断是否为函数
var fn = function () {};
alert($.isFunction(fn));
//判断是否为空对象
var obj = {}
alert($.isEmptyObject(obj));
//判断是否由{}或new Object()创造出的对象      纯粹对象:由{}或new Object()创造出的对象
var obj = window;
alert($.isPlainObject(obj));
注意:如果使用new Object(‘name‘);传递参数后,返回类型已不是Object,而是字符串,所以就不是纯粹的原始对象了。
//判断第一个DOM 节点是否含有第二个DOM 节点
alert($.contains($(‘#box‘).get(0), $(‘#pox‘).get(0)));
//$.type()检测数据类型
alert($.type(window));
//$.isNumeric 检测数据是否为数值
alert($.isNumeric(5.25));
//$.isWindow 检测数据对象是否为window 对象
alert($.isWindow(window));
URL 地址操作,在之前的Ajax 章节其实已经讲到过。只有一个方法:$.param(),将对象的键值对转化为URL 键值对字符串形式。
//$.param()将对象键值对转换为URL 字符串键值对
var obj = {
name : ‘Lee‘,
age : 100
};
alert($.param(obj));

浏览器检测(已经废弃)

//获取火狐浏览器和版本号
alert($.browser.mozilla + ‘:‘ + $.browser.version);
注意:火狐采用的是mozilla 引擎,一般就是指火狐;而谷歌Chrome 采用的引擎是webkit,一般验证Chrome 就用webkit。

$.supprot()

对浏览器内容的检测。比如:W3C 的透明度为opacity,而IE的透明度为alpha。这个对象是$.support。

//$.support.ajax 判断是否能创建ajax
alert($.support.ajax);
//$.support.opacity 设置不同浏览器的透明度
if ($.support.opacity == true) {
$(‘#box‘).css(‘opacity‘, ‘0.5‘);
} else {
$(‘#box‘).css(‘filter‘, ‘alpha(opacity=50)‘);
}
jQuery 提供了一个预备绑定函数上下文的工具函数:$.proxy()。这个方法,可以解决诸如外部事件触发调用对象方法时this 的指向问题。
//$.proxy()调整this 指向
var obj = {
name : ‘Lee‘,
test : function () {
alert(this.name);
}
};
$(‘#box‘).click(obj.test); //指向的this 为#box 元素
$(‘#box‘).click($.proxy(obj, ‘test‘)); //指向的this 为方法属于对象box
$(function(){
    var obj={
        name:‘Lee‘,

        test:function(){
            $_this=obj;
            alert($_this.name)
        },
    };
    obj.test();
    $(‘#box‘).click(obj.test);
    })
//这种方式也可以改变this指向问题
$(function(){
    var obj={
        name:‘Lee‘,

        test:function(){
            alert(this);
            alert(this.name)
        },
    };
    obj.test();            //弹出Lee
    $(‘#box‘).click(obj.test);         //弹出object HTMLDivElement    undifined
    })
//像这样的当点击div#box的时候,this指向是object HTMLDivElement,this.name则是undifined
时间: 2024-10-12 10:12:21

jquery学习随笔(工具函数)的相关文章

20151212jquery学习笔记--工具函数

工具函数是指直接依附于 jQuery 对象,针对 jQuery 对象本身定义的方法,即全局性 的函数.它的作用主要是提供比如字符串.数组.对象等操作方面的遍历. 一.字符串操作 在 jQuery 中,字符串的工具函数只有一个,就是去除字符串左右空格的工具函数: $.trim(). //$.trim()去掉字符串两边空格 varstr=' jQuery '; alert(str); alert($.trim(str)); 二.数组和对象操作 jQuery 为处理数组和对象提供了一些工具函数,这些函

JQuery中的工具函数总结

前提引入 前提当然也是要引入Jquery啦... <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js" type="text/javascript"></script> 工具方法 ①获取浏览器的名称与版本信息 在jQuery中,通过$.browser对象可以获取浏览器的名称和版本信息,如$.browser.chrome为true,表示当前为Chrome浏览器,$.browser.

JQuery实践--实用工具函数

实用工具函数,$命名空间的一系列函数,但不操作包装集.它要么操作除DOM元素以外的Javascript对象,要么执行一些非对象相关的操作. JQuery的浏览器检测标志可在任何就绪处理程序执行之前使用这些标志.$.browser :msie,mozilla,safari,opera,version(引擎的版本)$.boxModel: 方框模型,true/false. 决定了元素的内容大小$.styleFloat: float样式的名称,值为字符串,供属性名称使用   element.style[

jQuery学习随笔(二)

总结: 常规选择器 1.简单选择器: 2.进阶选择器: 3.高级选择器.  一.简单选择器 在使用jQuery 选择器时,我们首先必须使用“$()”函数来包装我们的CSS 规则.而CSS 规则作为参数传递到jQuery 对象内部后,再返回包含页面中对应元素的jQuery 对象.随后,我们就可以对这个获取到的DOM 节点进行行为操作了.                              #box {                                     //使用ID 选择

jquery学习随笔(动画效果)

show hide jQuery 中显示方法为:.show(),隐藏方法为:.hide().在无参数的时候,只是硬性的显 示内容和隐藏内容. $('.show').click(function () { //显示 $('#box').show(); }); $('.hide').click(function () { //隐藏 $('#box').hide(); }); //使用.show()和.hide()的回调函数,可以实现列队动画效果. $('.show').click(function

jQuery学习-页面就绪函数

1.开发工具HBuilder <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <script src="js/jquery.js"></script> <style> a{ border: 1px solid red;} </style> <scri

jquery学习随笔(冒泡和默认行为)

如果在页面中重叠了多个元素,并且重叠在这些元素都绑定了同一个事件,那么就会出现冒泡问题(这些元素在一个div内或者一个盒子模型内) $('input').click(function(){ alert('input'); }) $('div').click(function(){ alert('input'); }) $('document').click(function(){ alert('input'); }) <div style="width:200px;height:200px

jquery常用遍历工具函数

遍历在这里 http://my.oschina.net/u/2352644/blog/508397 废话不多说,一个句话告诉你jq的遍历工具 我们对数组的循环一般是用for或者for in,这是原生js支持,同样既然用jq的了,咱jq也提供了对数组的遍历方法,也就是对原生js循环的封装 一.$.each()和for循环等不得不说的秘密 我们循环一个数组一般是下面的处理,利用for循环  var arr=[0,1,2];  for(var i=0;i<arr.length;i++){   aler

javascrip jquery 学习随笔

js jquery