<!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>Jquery测试</title>
<script src="~/Js/jquery-3.1.1.min.js"></script>
<style>
#content {
width: 140px;
border: 1px solid blue;
} #msg {
width: 100px;
height: 100px;
margin: 20px;
border: 1px solid red;
}
</style>
<script type="text/javascript">
//字符串替换
var myStr = "I,love,you,Do,you,love,me?";
var replacedStr = myStr.replace(/love/g, "hate"); //全局替换
console.info(replacedStr) //"I,hate,you,Do,you,hate,me" //字符串连接 concat方法可以接收任意多个参数
var str1 = "I,love,you!";
var str2 = "Do,you,love,me?";
var str = str1.concat(str2,"张三");//"I,love,you!Do,you,love,me?张三"
console.info(str) //字符串大小写
var lowCaseStr = myStr.toLowerCase();//"i,love,you,do,you,love,me";
var upCaseStr = myStr.toUpperCase();//"I,LOVE,YOU,DO,YOU,LOVE,ME"
console.info(lowCaseStr)
console.info(upCaseStr) //Join
//var myList = new Array("jpg", "bmp", "gif", "ico", "png");
var myList = ["jpg", "bmp", "gif", "ico", "png"];
var portableList = myList.join("|");
console.info(portableList) //each循环一
var arr = ["one", "two", "three", "four"];
//数组删除
delete arr[0]; //只是被删除的元素变成了 undefined 其他的元素的键值还是不变。
$.each(arr, function (i) {
console.info(arr[i]);
}); //each循环二
var arr2 = [
{ id: 100, name: "张三", age: 21, sex: "男" },
{ id: 101, name: "李强", age: 22, sex: "男" },
{ id: 102, name: "王琳", age: 20, sex: "女" },
{ id: 103, name: "赵倩", age: 19, sex: "女" }
];
$.each(arr2, function (i, item) { //i序号 item当前元素
console.info(item.id + "-" + item.name + "-" + item.age + "-" + item.sex);
}); $.each(arr2, function (i, item) {
if (item.id == 100) { //修改某条记录
item.name = "胡星";
item.age = "29";
item.sex = "男";
}
console.info(item.id + "-" + item.name + "-" + item.age + "-" + item.sex);
}); $(function () {
//取消后续执行内容 阻止点击链接跳转
var obj = document.getElementById("myhref");
obj.onclick = function (event) {
event = event || window.event;
if (event.preventDefault) {
//非IE下
event.preventDefault();
} else {
event.returnValue = false;
}
}; //ajax出错调试
$.ajax({
url: "www.baidu.com/xxx.php",
type: "post",
datatype: "json",
data: { "cat": "tom", "mouse": "jack" },
success: function (data) {
console.log(data);
},
error: function (jqXHR, textStatus, errorThrown) {
/*
而jqXHR对象如下,
1.readyState :当前状态,0-未初始化,1-正在载入,2-已经载入,3-数据进行交互,4-完成。
2.status :返回的HTTP状态码,比如常见的404,500等错误代码。
3.statusText :对应状态码的错误信息,比如404错误信息是not found,500是Internal Server Error。
4.responseText :服务器响应返回的文本信息
textStatus和errorThrown都是字符串类型,分别是返回的状态和服务器的错误信息。
*/
console.log(jqXHR);
console.log(textStatus);
console.log(errorThrown);
}
}); //阻止冒泡事件(冒泡事件就是点击子节点,会向上触发父节点,祖先节点的点击事件。)
// 为内层div绑定click事件
$("#msg").click(function () {
alert("我是小div");
event.stopPropagation(); // 阻止事件冒泡 只弹出 "我是小div"
});
// 为外层div元素绑定click事件
$("#content").click(function () {
alert("我是大div"); //点击会弹出 "我是大div" 然后弹出 "我是body"
});
// 为body元素绑定click事件
$("body").click(function () {
alert("我是body");
}); //筛选符合条件的元素,返回一个新数组
var arr = [2, 5, 34, 22, 8];
var arr1 = $.grep(arr, function (value, index) {
return index <= 2 && value < 10;
})
console.log(arr1.join(","));  //输出2,5 //去左右空格
var str = " 你在他乡还好吗? ";
console.log("11" + str + "11");
console.log("11" + $.trim(str) + "11"); //如果数组中存在被搜索元素,则返回被搜索元素的索引
var aa = [1, 2, 3, 4, 5];
console.log($.inArray(4, aa));  //弹出 3 //$.makeArray()将数组或类数组对象的属性复制到一个新的数组(真的是数组)中
var arr1 = $.makeArray(arr);
console.log("新数组" + arr1.join(",")); //该函数接受两个数组或类数组对象,将第二个参数附加到第一个参数上面,
//返回第一个参数,第一个数组会修改,第二个不会。
var arr3 = $.merge(arr, aa);
console.log("合并后的数组" + arr3.join(","))
}); //$.param() 序列化成url字符串
$(function () {
var man = { Name: "张飞", Age: 23 };
var str = $.param(man);
console.log(str);      //Name=%E5%BC%A0%E9%A3%9E&Age=23
var str1 = decodeURI(str);
console.log(str1);  //Name=张飞&Age=23 //$.parseJSON() 该函数会解析JSON格式的字符串,并返回解析结果(对象)。 类似于JSON.parse()
var man = { name: "张三", age: 23 };
var str = JSON.stringify(man); //stringify用于从一个对象解析出字符串 console.log(str); //{"name":"张三","age":23}
var man1 = $.parseJSON(str); //parseJSON 用于从一个字符串中解析出json 对象
var man2 = JSON.parse(str); //parse 用于从一个字符串中解析出json 对象
console.log("$.parseJSON " + man1.name + man1.age); //张三23
console.log("JSON.parse " + man2.name + man2.age); //张三23 //删除元素数组中的重复元素
var arr = [1, 2, 3, 4, 4, 5, 5, 6];
$.unique(arr);
console.log(arr.join());  //返回  1,2,3,4,5,6 //$.extend() 合并对象中的元素 后面覆盖前面的
var result = $.extend({}, { name: "Tom", age: 21 }, { name: "Jerry", sex: "Boy" });
console.log(result.name); //输出 Jerry 后面的会覆盖前面的,result始终只是一个对象 //$.map() 改变函数内的数据,接受一个数组或类数组对象作为参数
var arr1 = [2, 5, 34, 22, 8];
var bbb = $.map(arr1, function (value, index) {
if (value > 5 && index < 3) { //值大于5 下标小于3
return value - 10;
}
})
console.log(arr1.join()); //2,5,34,22,8  可以看到原数组不改变
console.log(bbb.join());  //24  新数组只获得了操作之后的结果 /*
$.when 提供一种方法来执行一个或多个对象的回调函数,延迟对象通常表示异步事件。
when()函数常常和done()函数、fail()函数、then()函数联合使用:
done(Function func) - 当deferreds中的处理都完成的时候执行Function回调函数
fail(Function func) - 当deferreds中有一个处理失败的时候执行Function回调函数
then(Function func1,Function func2)- 结合了done和fail函数,
当都成功执行func1,当有一个失败执行func2
*/
var whenResult = $.when($.ajax("page1.php"), $.ajax("page2.php"));
whenResult.done(function (a1, a2) {
//函数内容略
//a1和a2俩参数是when函数中两个ajax请求的相关jqXHR对象
//var jqXHR = a1[2]; /* arguments are [ "success", statusText, jqXHR ] */
});
whenResult.fail(function () {
console.log("失败了")
//函数内容略
})
//whenResult.then(successFunc, failureFunc);
}) /*
$.isArray(obj)    检测参数是否是数组
$.isFunction(obj)   检测参数是否是一个函数
$.isEmptyObject(obj)  检测参数是否是一个空对象
$.isPlainObject(obj)   检测参数是否是一个纯粹对象,即对象是否通过{}或new Object()关键字创建。
$.contains(container,contained)  检测一个DOM节点是否包含另一个DOM节点。是则返回true否则表示false。
alert($.contains($("#div1")[0],$("#p1")[0]));  //返回true,注意参数是DOM对象,并非jQuery对象
*/
</script>
</head>
<body>
<a id="myhref" href="http://www.baidu.com">去百度</a>
<div id="content">
外层div
<div id="msg">
内层div
</div>
</div>
</body>
</html>

Jquery字符串,数组(拷贝、删选、合并等),each循环,阻止冒泡,ajax出错,$.grep筛选,$.param序列化,$.when的更多相关文章

  1. jquery字符串数组转json字符串 C#json字符串转字符串list

    一.jquery字符串数组转json字符串 var str=['1','2','3']; var jsonText= JSON.stringify(str);//把一个对象转换成json字符串 str ...

  2. java里如何实现循环打印出字符串或字符串数组里的内容

    不多说,直接上干货! java里如何实现循环打印出字符串里的内容 思路:可以先将字符串转换成字符串数组. public class test { public static void main(Str ...

  3. String 字符串的追加,数组拷贝

    package chengbaoDemo; import java.util.Arrays; /** *需求:数组的扩容以及数据的拷贝 *分析:因为String的实质是以字符数组存储的,所以字符串的追 ...

  4. jQuery对数组操作

    //对象数组 var trackObj1={ , "direcLine":"line31" }; var currentTrack=[]; currentTra ...

  5. js与jquery常用数组方法总结

    昨天被问数组方法的时候,问到sort()方法是否会改变原来的数组.本来我猜是不会,也是这么说,马上我又觉得,知识这种东西,不确定的时候直接说不确定或不知道就好,只是凭借着不确定的猜测或者是记忆,害人害 ...

  6. JS Jquery去除数组重复元素

    js jquery去除数组中的重复元素 第一种:$.unique() 第二种: for(var i = 0,len = totalArray_line.length;i < len;i++) { ...

  7. IOS NS 字符串 数组 字典 文件 动态 静态 操作

    ios 常用字符串的操作   //将NSData转化为NSString        NSString* str = [[NSString alloc] initWithData:response e ...

  8. jQuery之数组处理函数

    摘要:$.each,$.grep,$.map,$.merge,$.inArray,$.unique,$.makeArray 1. $.each(array, [callback]) 遍历[常用] 解释 ...

  9. JQuery对数组的一些操作总结

    JQuery对数组的处理非常便捷并且功能强大齐全,一步到位的封装了很多原生js数组不能企及的功能.下面来看看JQuery数组的强大之处在哪. $.each(array, [callback]) 遍历 ...

随机推荐

  1. express传输buffer文件

    最近要做一个功能,导出动态生成的excel文件,这个普普通通的功能却让我折腾了半天.大致流程是这样的,将数据结合excel模板通过ejsExcel库,动态生成excel文件,并发送到客户端. 在exp ...

  2. css入门基础知识

    一.CSS常用选择器 /*CSS注释*/ /*CSS修改页面中的所有标签必须借助选择器选中. 选择器中可以写多对CSS属性:每个属性名与属性值之间用:分隔,多对属性之间,必须用;分隔 选择器{ 属性1 ...

  3. 对eigrp默认网络的理解!

    EIGRP 默认网络设置的个人总结 (了解即可) //该机制同rip和ospf的default-informationoriginate,原理相同,只是配置格式不同. //!!(唯一作用)该命令起到减 ...

  4. The Last

    第八次课程作业 感慨 没想到这就最后一次课程作业了,还以为会跟我到大学毕业呢.既然是最后一次就说说心里话.起初收到做博客作业的消息还觉得蛮有新意的(因为第一次作业不难),后来不断的作业涌现出来了,还都 ...

  5. 201521123030《Java程序设计》第3周学习总结

    1. 本周学习总结 2. 书面作业 1.代码阅读 public class Test1 { private int i = 1;//这行不能修改 private static int j = 2; p ...

  6. 201521123010 《Java程序设计》第10周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 本次PTA作业题集异常.多线程 ①finally 题目4-2 1.1 截图你的提交结果(出现 ...

  7. 201521123072《java程序设计》第十周学习总结

    201521123072<java程序设计>第十周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常与多线程相关内容. 2. 书面作业 本次PTA作业题集异 ...

  8. Markdown编辑后

    一个例子: 例子开始 1. 本章学习总结 今天主要学习了三个知识点 封装 继承 多态 2. 书面作业 Q1. java HelloWorld命令中,HelloWorld这个参数是什么含义? 今天学了一 ...

  9. [06] Session实现机制以及和Cookie的区别

    1.为什么有Session和Cookie 根据早期的HTTP协议,每次request-reponse时,都要重新建立TCP连接.TCP连接每次都重新建立,所以服务器无法知道上次请求和本次请求是否来自于 ...

  10. u盘分区装机版

    第一步:制作启动U盘前的软硬件准备 .准备一个最好大于2G的U盘,并先备份好里面的数据,防止接下来需要清空U盘的数据而出现丢失重要文件: 2.下载U盘启动盘制作工具6.1软件,直接放在桌面,方便接下来 ...