javascript边角知识
1.组织默认事件
阻止默认事件,h5默认的input type='date'在某些浏览器和android设备上没有效果,这时要调用h5+的时间选择器,但是要组织input默认的click事件,代码如下:
//选择时间
$("#end_time").on("click",function(event){
event.preventDefault();
plus.nativeUI.pickDate( function(e){
var d = e.date;
// console.log(d.Format('yyyy-MM-dd'));
$("#end_time").val(d.Format('yyyy-MM-dd'));
},function(e){
console.log( "未选择日期:"+e.message );
},{title:"请选择到期时间",minDate:new Date()});
});
2.判断input type='checkbox' 是否被选中,代码如下
if (!$("#shopregister #checkaggree").is(":checked")) {
alert("请同意注册协议");
return false;
}
3.获取多个checkbox中被选中的那个的值,代码如下
<input name='is_refund' id='refund_1' type='radio' value='1' />
<input name='is_refund' id='refund_0' checked='checked' type='radio' value='0' />
$("#shopregister input[name='is_refund']:checked").val();
4.设置checkbox选中
$("[name='checkbox']:even").attr("checked",'true'); //如果这货不管用请用prop
5.获取多张图片中title属性的值
user.id_pic1 = $($("#shopregister .id_pic")[0]).attr("title");
user.id_pic2 = $($("#shopregister .id_pic")[1]).attr("title");
user.id_pic3 = $($("#shopregister .id_pic")[2]).attr("title");
6.ajax提交过程中显示进度图片
$.ajax({
type: 'POST',
url: configManager.RequstUrl + "/api/user/createstore",
data: postdata,
beforeSend:function(){ $("#waitingupload").removeClass("heisebghid").addClass("heisebg");}
}).done(function (data) {
$("#waitingupload").removeClass("heisebg").addClass("heisebghid");
if ("success" == data.state) {
//服务端成功
}
else {
//服务端失败
}
}).fail(function () {
//ajax请求失败
});
7.选择器first和first-child的区别
<table>
<tr><td>Row 1</td></tr>
<tr><td>Row 2</td></tr>
<tr><td>Row 3</td></tr>
</table> <script>$("td:first-child或者first").css("color", "red");</script>
first:Row1为红色
first-child:三个Row都为红色
分别表示:第一个td 和 每个td的第一个元素
8.jquery判断元素是否隐藏
$("#givegoodsback").is(":hidden");可以,$("#givegoodsback").is(":visible");不行的
8.判断变量类型
var gettype=Object.prototype.toString
gettype.call('aaaa') 输出 [object String]
gettype.call(2222) 输出 [object Number]
gettype.call(true) 输出 [object Boolean]
gettype.call(undefined) 输出 [object Undefined]
gettype.call(null) 输出 [object Null]
gettype.call({}) 输出 [object Object]
gettype.call([]) 输出 [object Array]
gettype.call(function(){}) 输出 [object Function]
看到这里,刚才的问题我们解决了。
其实js 里面还有好多类型判断 [object HTMLDivElement] div 对象 , [object HTMLBodyElement] body 对象 ,[object Document](IE)或者 [object HTMLDocument](firefox,google) ......各种dom节点的判断,这些东西在我们写插件的时候都会用到。
可以封装的方法如下 :
var gettype=Object.prototype.toString
var utility={
isObj:function(o){
return gettype.call(o)=="[object Object]";
}, isArray:function(o){
return gettype.call(o)=="[object Array]";
}, isNULL:function(o){
return gettype.call(o)=="[object Null]";
}, isDocument:function(){
return gettype.call(o)=="[object Document]"|| [object HTMLDocument];
}
........
}
9.使用is判断是否为id=XXX的元素
if ( $(obj).parent().is('#fancybox-content') === true) {
busy = false;
return;
}
10.一次添加多个元素
outer.append(
content = $('<div id="fancybox-content"></div>'),
close = $('<a id="fancybox-close"></a>'),
title = $('<div id="fancybox-title"></div>'), nav_left = $('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),
nav_right = $('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>')
);
11.添加cookie并设置失效时间
var expires = new Date(new Date().getTime() + (1000 * 60 * 60 * 24 * 60)); //60天
Ext.util.Cookies.set('autoLogin', autoLogin.getValue(), expires);
Ext.util.Cookies.set('loginUserId', userId, expires);
Ext.util.Cookies.set('loginPassword', password, expires);
javascript边角知识的更多相关文章
- Javascript基础知识总结一
Javascript基础知识总结一 <!DOCTYPE html> <html> <head lang="en"> <meta chars ...
- 学习javascript基础知识系列第二节 - this用法
通过一段代码学习javascript基础知识系列 第二节 - this用法 this是面向对象语言中的一个重要概念,在JAVA,C#等大型语言中,this固定指向运行时的当前对象.但是在javascr ...
- 学习javascript基础知识系列第三节 - ()()用法
总目录:通过一段代码学习javascript基础知识系列 注意: 为了便于执行和演示,建议使用chrome浏览器,按F12,然后按Esc(或手动选择)打开console,在console进行执行和演示 ...
- javascript常用知识点集
javascript常用知识点集 目录结构 一.jquery源码中常见知识点 二.javascript中原型链常见的知识点 三.常用的方法集知识点 一.jquery源码中常见的知识点 1.string ...
- 七个开法者经常忽略或误用的JavaScript基本知识
七个开法者经常忽略或误用的JavaScript基本知识 翻译自 http://tech.pro/tutorial/1453/7-javascript-basics-many-developers-ar ...
- JavaScript 基础知识 - BOM篇
前言 本篇文章是JavaScript基础知识的BOM篇,如果前面的<JavaScript基础知识-DOM篇>看完了,现在就可以学习BOM了. 注意: 所有的案例都在这里链接: 提取密码密码 ...
- JavaScript数组知识
JavaScript数组知识 <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- JS控制语句 编程练习 学生数据,分别是姓名、性别、年龄和年级,接下来呢,我们要利用JavaScript的知识挑出其中所有是大一的女生的的名字哦。
编程练习 在一个大学的编程选修课班里,我们得到了一组参加该班级的学生数据,分别是姓名.性别.年龄和年级,接下来呢,我们要利用JavaScript的知识挑出其中所有是大一的女生的的名字哦. 学生信息如下 ...
- AST抽象语法树——最基础的javascript重点知识,99%的人根本不了解
AST抽象语法树——最基础的javascript重点知识,99%的人根本不了解 javascriptvue-clicommonjswebpackast 阅读约 27 分钟 抽象语法树(AST),是一 ...
随机推荐
- lazyload.js详解
简介 lazyload.js用于长页面图片的延迟加载,视口外的图片会在窗口滚动到它的位置时再进行加载,这是与预加载相反的. 优点: 它可以提高页面加载速度: 在某些情况清晰它也可以帮助减少服务器负载. ...
- LinearLayout嵌套
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- 安装sql server managerment studio报错"The instance id is required but it is missing"
问题描述: 今天在安装sql server managerment studio的时候提示报错"The instance id is required but it is missing&q ...
- 为什么Android应该根据屏幕分辨率来加载不同的图片文件
1.图片在xxhdpi,手机是hdpi的 我们有一个手机是hdpi的.我们还有一个图片,我们把他放在xxhdpi下.当手机显示的时候,系统会去hdpi中找,发现没有图片,最终在xxhpi中找到.终于找 ...
- Android使用layer-list实现三面边框
layer-list可以将多个图片或形状按照顺序层叠起来 <?xml version="1.0" encoding="utf-8"?> <la ...
- HorizontalScrollView实现先左滑动后右滑动动画
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); s ...
- Hibernate的各种关联关系
1.有多中映射 方法 //用XML配置时 <mapping resource="com/liugch/bean/Student.hbm.xml" /> //用注解配置时 ...
- 基础学习day03---程序结构与控制、函数与数组入门
一.程序结构 1.顺序结构 2.选择结构 3.循环结构 二.顺序结构 程序至上而下逐行执行,一条语句执行完之后继续执行下一条语句,一直到程序的末尾 三.条件选择结构 选择结构是根据条件的成立与否, ...
- swift2.2当中的inout参数的使用
在Swift中,初次接触inout关键字以及它的用法,可能会让我们想起C/C++中的指针,但实际上Swift中inout只不过是按值传递,然后再写回原变量,而不是按引用传递: An in-out pa ...
- windows 我的电脑右键 无法打开管理窗口
保存成reg文件,执行一下就好了. Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\CLSID\{20D04FE0-3AEA-1069- ...