最近项目中用到的js
2016-01-20 00:15
513 查看
1、用字典判断数组是否有重复
function ticketTypeValidate() {
var ticketArr = [];
var tickettype = $("div[name='tickettype']");
for (var a = 0; a < tickettype.length; a++) {
var person = tickettype.eq(a).find("#ticketperson").find("option:selected").val();
var tickettime = tickettype.eq(a).find(".ticket_time").find("option:selected").val();
var price = tickettype.eq(a).find(".price").val();
ticketArr.push({
Person: person,
Tickettime: tickettime,
Price: price
});
}
var ticketKeys = {};
for (var i = 0; i < ticketArr.length; i++) {
var ticket = ticketArr[i];
var ticketKey = ticket.Person + "-" + ticket.Tickettime;
if (ticketKeys.hasOwnProperty(ticketKey)) {
alert("票型有重复!");
return false;
}
else {
ticketKeys[ticketKey] = "";
}
}
}
2、拼接url参数
location.search链接的查询条件
hasOwnProperty:是用来判断一个对象是否有你给出名称的属性或对象。不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。
isPrototypeOf:是用来判断要检查其原型链的对象是否存在于指定对象实例中,是则返回true,否则返回false。
encodeURIComponent该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的
location.href = location.href.replace(location.search, "") + "?" + serializeToUrlParams(getdata());
obj json数组
function serializeToUrlParams(obj) {
var urlParams = [];
for (var key in obj) {
if (obj.hasOwnProperty((key)) && !webExpress.utility.string.isNullOrEmpty(obj[key])) {
urlParams.push(key + "=" + encodeURIComponent(obj[key]));
}
}
return urlParams.join("&");
}
3、判断checkbox和radio被选中
if (radios[i].checked == true)
if(radio[i].prop("checked")==true)
原生的document对象的获取
if(radio[i]).attr("checked")==true)
定义的属性判断
4、jQuery.html() 是获取当前节点下的html代码,并不包含当前节点本身的代码,然而我们有时候的确需要,可以通过jQuery.prop("outerHTML")的方式设置。
function ticketTypeValidate() {
var ticketArr = [];
var tickettype = $("div[name='tickettype']");
for (var a = 0; a < tickettype.length; a++) {
var person = tickettype.eq(a).find("#ticketperson").find("option:selected").val();
var tickettime = tickettype.eq(a).find(".ticket_time").find("option:selected").val();
var price = tickettype.eq(a).find(".price").val();
ticketArr.push({
Person: person,
Tickettime: tickettime,
Price: price
});
}
var ticketKeys = {};
for (var i = 0; i < ticketArr.length; i++) {
var ticket = ticketArr[i];
var ticketKey = ticket.Person + "-" + ticket.Tickettime;
if (ticketKeys.hasOwnProperty(ticketKey)) {
alert("票型有重复!");
return false;
}
else {
ticketKeys[ticketKey] = "";
}
}
}
2、拼接url参数
location.search链接的查询条件
hasOwnProperty:是用来判断一个对象是否有你给出名称的属性或对象。不过需要注意的是,此方法无法检查该对象的原型链中是否具有该属性,该属性必须是对象本身的一个成员。
isPrototypeOf:是用来判断要检查其原型链的对象是否存在于指定对象实例中,是则返回true,否则返回false。
encodeURIComponent该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。
其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的
location.href = location.href.replace(location.search, "") + "?" + serializeToUrlParams(getdata());
obj json数组
function serializeToUrlParams(obj) {
var urlParams = [];
for (var key in obj) {
if (obj.hasOwnProperty((key)) && !webExpress.utility.string.isNullOrEmpty(obj[key])) {
urlParams.push(key + "=" + encodeURIComponent(obj[key]));
}
}
return urlParams.join("&");
}
3、判断checkbox和radio被选中
if (radios[i].checked == true)
if(radio[i].prop("checked")==true)
原生的document对象的获取
if(radio[i]).attr("checked")==true)
定义的属性判断
4、jQuery.html() 是获取当前节点下的html代码,并不包含当前节点本身的代码,然而我们有时候的确需要,可以通过jQuery.prop("outerHTML")的方式设置。
相关文章推荐
- 【JS复习笔记】02 对象与函数
- JS中常用的DOM基本操作方法总结
- js实现图片无缝滚动特效
- JavaScript优化专题之Loading and Execution加载和运行
- 详解Javascript模板引擎mustache.js
- 高性能JavaScript循环语句和条件语句
- 学习JavaScript设计模式之模板方法模式
- JS获取鼠标坐标位置实例分析
- javascript实现图片轮播效果
- Javascript中神奇的this
- JavaScript中this调用的四种模式
- Js针对window窗体大小设置
- 常用JavaScript语法107条
- 【JS--基础--语句】--for in 循环遍历语句
- JavaScript事件冒泡
- phantomjs iframe 访问元素
- 一个纠结的js验证控件
- javascript中的prop和attr方法的区别
- Javascript学习笔记:对象的属性类型
- JS笔记