1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
$(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);
})
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
<!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 + "
");
});
})
|
1
2
3
4
5
6
7
8
|
$(function () {
var arr = { "张三": "23","李四": 22,"王五": "21" };
$.each(arr, function (index, value) {
document.write(index + ":");
document.write(value + "
");
});
})
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<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>
|
1
2
3
4
5
6
7
|
$(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
})
|
1
2
3
4
5
6
7
8
9
|
$(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() + "
"); //2,5,34,22,8
|
1
2
3
4
|
$(function () {
var arr = [1, 2, 3, 4, 5];
alert($.inArray(4,arr)); //弹出 3
})
|
1
2
3
4
5
6
|
$(function () {
var str = " 你在他乡还好吗? ";
document.write("11" + str + "11" + "
"); //输出 11 你在他乡还好吗? 11
document.write("11" + $.trim(str) + "11"); //输出 11你在他乡还好吗?11 //加个11是为了看清楚差别。
})
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
$.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对象
})
|
1
2
3
4
5
6
7
8
|
$(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("
" + str1); //Name=张飞&Age=23
})
|
1
2
3
4
5
|
var arr = [1,3,5,7,9];
$(function () {
var arr1 = $.makeArray(arr);
document.write(arr1.join()); //输出 1,3,5,7,9
})
|
1
2
3
4
5
6
7
8
9
10
11
|
var arr1 = [1, 3, 5, 7, 9];
var arr2 = [2, 4, 6, 8, 10];
$(function () {
var arr3 = $.merge(arr1, arr2);
document.write(arr1.join() + "
"); //1,3,5,7,9,2,4,6,8,10
document.write(arr2.join() + "
"); //2,4,6,8,10
document.write(arr3.join() + "
"); //1,3,5,7,9,2,4,6,8,10
})
|
1
2
3
4
|
var man = { name: "张三", age: 23 }; var str = JSON.stringify(man);
document.write(str + "
"); //{"name":"张三","age":23} var man1 = $.parseJSON(str);
document.write(man1.name + man1.age); //张三23
|
1
2
3
4
5
6
|
$(function () { var obj = {
name: "John",
test: function () {
alert(this.name); //当id为test的按钮点击时,弹出姓名 $("#test").unbind("click", obj.test); //并取消事件绑定(下次再点击不会弹出姓名) }
};
$("#test").click(jQuery.proxy(obj, "test")); //绑定object对象里面的方法test })
|
1
2
3
|
$(function () { var arr = [1, 2, 3, 2, 1];
jQuery.unique(arr);
alert(arr.join()); //返回 3,2,1 })
|
1
2
|
$(function(){ var result=$.extend({},{name:"Tom",age:21}, {name:"Jerry",sex:"Boy"});
alert(result.name); //输出 Jerry 后面的会覆盖前面的,result始终只是一个对象 })
|
1
2
3
4
|
$(function(){
$.extend({
hello:function(){alert('hello');} //该方法只有一个参数,意味着将hello方法合并到jQuery全局对象中去 });
$.hello(); //弹出 hello })
|
1
2
3
4
|
$(function(){
$.extend({net:{}}); //扩展一个命名空间 $.extend($.net,{
hello:function(){alert('hello');} //将hello方法绑定到命名空间net里去 })
$.net.hello(); //通过net命名空间调用方法 })
|
1
2
3
4
5
6
7
|
$(function(){ var result=$.extend( true, {},
{ name: "John", location: {city: "Boston",country:"USA"} },
{ last: "Resig", location: {state: "MA",country:"China"} } );
alert(result.location.state); //输出 MA //result={name:"John",last:"Resig", location:{city:"Boston",state:"MA",county:"China"}} var result=$.extend( false, {},
{ name: "John", location: {city: "Boston",country:"USA"} },
{ last: "Resig", location: {state: "MA",country:"China"} } );
alert(result.location.city); //输出 undefined //result={name:"John",last:"Resig",location:{state:"MA",county:"China"}} 注意没有city,只是合并了location,location里面的属性不管 })
|
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是一个个人学习交流的平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽,造成漏登,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。