在javascript编程中,开发者通常需要编写很多小程序来实现一些特定的功能。例如浏览器检测,字符串处理、数组的编辑等。jQuery对这些常用的程序进行了总结,提供了很多实用的函数。
1.检测浏览器。
jQuery通过$.browser对象获取浏览器信息。
属性 说明
msie 如果是ie为true,否则为false
mozilla 如果是mozilla相关的浏览器为true,否则为false
safari 如果是Safari浏览器为true,否则为false
poera 如果是opera浏览器为true,否则为false
version 浏览器的版本号
在使用时,开发者可以直接调用这些属性来获取浏览器属性。如下:
<script type="text/javascript">
$(function() {
function detect() {
if ($.browser.msie)
return "IE";
if ($.browser.mozilla)
return "Mozilla";
if ($.browser.safari)
return "Safari";
if ($.browser.opera)
return "Opera";
}
var sBrowser = detect();
document.write("您的浏览器是:" + sBrowser + "<br>版本为:" + $.browser.version)
});
</script>
2.盒子模型
在jQuery中提供了$.boxModel对象来检测目前所遵循的盒子模型。它是一个布尔值,当为true时,表示遵循w3c标准盒子模型,如果false则为ie的盒子模型
var sBox = $.boxModel ? "标准W3C" : "IE";
document.write("您的页面目前支持:" + sBox + "盒子模型");
3.处理javascript对象。
在javascript编程中,可以说一切变量都是对象,例如字符串,日期和数值等。
jQuery提供了一些编辑的方法来处理相关的对象,例如$.trim()函数(首尾去空格) 函数就是其中之一
i.使用$each()方法遍历
前文介绍到each()方法,用于选择器的中的元素遍历,同样对于javascript的数组和对象,可以使用$.each()方法进行遍历。
$.each(object,fn);
其中,object为需要遍历的对象,fn为object中每个元素都执行的函数,其中函数fn可以接受两个参数,第一个参数为数组元素的序号或者是对象的属性。第二个参数为元素或者属性的值。
例子:用$.each()函数遍历数组和对象
<script type="text/javascript">
var aArray = ["one", "two", "three", "four", "five"];
$.each(aArray, function(iNum, value) {
//征对数组
document.write("序号" + iNum + "值" + value + "<br>");
});
var oObj = {
one: 1,
two: 2,
three: 3,
four: 4,
five: 5
};
$.each(oObj, function(pro, value) {
//征对对象
document.write("属性" + pro + "值" + value + "<br>")
});
</script>
从上面的例子可以看到,$.each()对遍历数组和对象都十分方便,例如对未知的属性$.browser,使用$.each进行遍历
$.each($.browser, function(iNum, value) {
//征对数组
document.write("属性" + iNum + "值" + value + "<br>");
});
得值:
属性chrome值true
属性version值39.0.2171.99
属性webkit值true
ii.过滤数据
对于数组中的数据,很多时候开发者需要对其进行筛选,如果使用纯javascript,往往需for循环进行逐一检查。jQuery提供了$.grep()方法。能够便捷的过滤数组的数据。
其语法如下:
$.grep(Array,fn,[invert])
其中,array是需要过滤的数组对象名称,fn为过滤函数,对数组中的每个对象,如果返回true则保留,否则去除。可选的invert为布尔值,如果设置为true.则函数fn取反,满足条件的被去除。
var aArray = [2, 3, 4, 7, 9, 8, 2, 2, 4, 2, 3, 6, 9, 0, 3, 4, 2, 5];
var aResult = $.grep(aArray, function(value) {
return value >= 4;
});
document.write(aResult.join());
首先定义了数组aArray,然后用$.grep()方法将值大于等于4挑选出来得到新的数组
例子2,过滤数组的高级方法。
<script type="text/javascript">
var aArray = [2, 3, 4, 7, 9, 8, 2, 2, 4, 2, 3, 6, 9, 0, 3, 4, 2, 5];
var aResult = $.grep(aArray, function(value, index) {
//元素的值和value和序号同时判断
return (value >= 4 && index > 3);
});
document.write(aResult.join

