jQuery功能函数详解
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>
$.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());
</script>
iii转化数组
很多时候开发者希望某个数组中的元素能够统一的转化,例如将所有的元素都乘以2.虽然在javascript中例如for循环可以实现,但是jQuery提供了更为便利的$.map()方法。这个方法如下
$.map(array,fn)
其中,array为要转化的数组,fn为转化函数,对数组中的每一项都执行,该函数同样可以接受两个函数,1个参数为元素的值。2个参数为元素的序号,是可选参数。
<script type="text/javascript">
$(function() {
var aArray = ["a", "b", "c", "d", "e", "f", "g", "h", "i"];
$("p:eq(0)").text(aArray.join());
aArray = $.map(aArray, function(value, index) {
//将数组转化为大写并添加了序号
return (value.toUpperCase() + index);
});
$("p:eq(1)").text(aArray.join());
cArray = $.map(aArray, function(value) {
return value + value;
});
$("p:eq(2)").text(cArray.join());
});
</script>
<p></p>
<p></p>
<p></p>
使用$.map()函数进行转移后,数组长度不一定与原来的数组相同。可以通过设置null来删除数组的元素。
<script type="text/javascript">
$(function() {
var aArray = [0, 1, 2, 3, 4, 5, 6, 7, 8];
$("p:eq(0)").text(aArray.join());
$("p:eq(1)").text("aArray长度:" + aArray.length + "值:" + aArray.join());
cArray =$.map(aArray,function(value){
//比1大的+1后返回,否则通过设置为null将其删除
return value>1?value+1:null;
});
$("p:eq(2)").text("cArray长度:" + cArray.length + "值:" + cArray.join());
});
</script>
<p></p>
<p></p>
<p></p>
除了删除元素外,$.map转化数组时同样可以增加数组元素。
<script type="text/javascript">
$(function() {
var aArray = ["one", "two", "three", "four", "five"];
$("p:eq(0)").text(aArray.join());
cArray =$.map(aArray,function(value){
return value.split("");
});
$("p:eq(1)").text("cArray长度:" + cArray.length + "值:" + cArray.join());
});
</script>
<p></p>
<p></p>
iiii搜索数组元素
对于字符串,可以通过indexOf()来搜索特定字符所处的位置,对于数组元素,javascript没有提供类似的方法。在jQ中,$.inArray()函数可以很好的数组元素的搜索功能。语法如下:
$.inArray(value,array)
其中,value为希望查找的对象,array为数组本身,如果找到了则返回第一个匹配元素在数组的位置。如果没有则返回-1.
<script type="text/javascript">
$(function() {
var aArray = ["one", "two", "three", "four", "five"];
var cx1 = $.inArray("two", aArray);
var cx2 = $.inArray("www", aArray);
$("p:eq(0)").text(cx1);
$("p:eq(1)").text(cx2);
});
</script>
<p></p>
<p></p>
4.获取外部代码
在一些较大工程中,开发者将不同的js放在不同的js文件中,有时根据补贴的需求加载不同的代码。jQuery提供了$.getScript()实现外边的代码加载。使用方法如:
$.getScript(url,[callback])
其中,url为外部资源的地址,可以是相对的,也可以是绝对的地址。callback为加载成功后的回调函数,可选。
<script type="text/javascript">
$(function() {
$("p:eq(0)").click(function() {
$.getScript("1.js");
});
$("p:eq(1)").click(function() {
textfun();
});
});
</script>
<p>点击1</p>
<p>点击2</p>
jQuery功能函数详解的更多相关文章
- jQuery.attr() 函数详解
一,jQuery.attr() 函数详解: http://www.365mini.com/page/jquery-attr.htm 二,jQuery函数attr()和prop()的区别: http: ...
- jQuery.ready() 函数详解
jQuery.ready() 函数详解 ready()函数用于在当前文档结构载入完毕后立即执行指定的函数. 该函数的作用相当于window.onload事件. 你可以多次调用该函数,从而绑定多个函数, ...
- jquery inArray()函数详解
jquery inarray()函数详解 jquery.inarray(value,array)确定第一个参数在数组中的位置(如果没有找到则返回 -1 ). determine the index o ...
- 【转载】jQuery.extend 函数详解
转载自:http://www.cnblogs.com/RascallySnake/archive/2010/05/07/1729563.html jQuery.extend 函数详解 JQuery的e ...
- jQuery.hasClass() 函数详解
jQuery.hasClass() 函数详解 hasClass()函数用于指示当前jQuery对象所匹配的元素是否含有指定的css类名. 该函数属于jQuery对象(实例). 语法 JavaScrip ...
- C++ list容器系列功能函数详解
C++ list函数详解 首先说下eclipse工具下怎样debug:方法:你先要设置好断点,然后以Debug方式启动你的应用程序,不要用run的方式,当程序运行到你的断点位置时就会停住,也会提示你进 ...
- jQuery.ajax() 函数详解
jQuery.ajax()函数用于通过后台HTTP请求加载远程数据. jQuery.ajax()函数是jQuery封装的AJAX技术实现,通过该函数,我们无需刷新当前页面即可获取远程服务器上的数据. ...
- jQuery.makeArray() 函数详解
jQuery.makeArray()函数用于将一个类数组对象转换为真正的数组对象. 所谓"类数组对象"就是一个常规的Object对象,但它和数组对象非常相似:具备length属性, ...
- jQuery.isEmptyObject() 函数详解
所谓"空对象",即不包括任何可枚举(自定义)的属性.简而言之,就是该对象没有属性可以通过for...in迭代. 该函数属于全局jQuery对象. 语法 jQuery 1.4 新增该 ...
随机推荐
- chrome 此网页正试图从未经验证的来源加载脚本
chrome 此网页正试图从未经验证的来源加载脚本 CreateTime--2018年5月25日08点02分 Author:Marydon 1.情景还原 以我的网站为例,https://www.c ...
- ibatis 批量插入
ibatis 批量插入 CreationTime--2018年7月2日10点21分 Author:Marydon 1.说明 基于oracle的sql语句 2.主键id有默认值,比如:sys_gui ...
- 阿里云rds linux平台使用wget 工具下载备份与日志文件
1. 获取备份下载地址 RDS 控制台 备份恢复 数据备份,选择需要下载的备份集,点击“下载”. 点击“复制内网地址” 或 “复制外网地址” 来获取备份的 内网 或 外网 下载地址. 日志备份的地 ...
- LaunchScreen.storyboard 设置图片后不显示(转)
LaunchScreen.storyboard 设置图片后不显示 将图片放在根目录下即可 3D85E99F-A79B-4419-817D-1417E1446624.png 转至:http://ww ...
- js 按enter键提交信息
http://codeigniter.org.cn/forums/thread-10868-1-1.html function keydown(e) { var currKey=0,e=e|| ...
- 怎样给ExecutorService异步计算设置超时
ExecutorService接口使用submit方法会返回一个Future<V>对象.Future表示异步计算的结果.它提供了检查计算是否完毕的方法,以等待计算的完毕,并获取计算的结果. ...
- ocr 识别 github 源码
参考 [1] https://github.com/eragonruan/text-detection-ctpn [2] https://github.com/senlinuc/caffe_ocr [ ...
- Mysql 数据库数值类型详解
MySQL 支持所有标准SQL 中的数值类型,其中包括严格数值类型(INTEGER.SMALLINT.DECIMAL 和NUMERIC),以及近似数值数据类型(FLOAT.REAL 和DOUBLE P ...
- spark 学习(二) RDD及共享变量
声明:本文基于spark的programming guide,并融合自己的相关理解整理而成 Spark应用程序总是包括着一个driver program(驱动程序),它运行着用户的main方 ...
- Linux下解压tar.xz
tar xvJf ***.tar.xz 注意零散文件,最好放到文件夹里