15个jquery常用方法、小技巧分享
1.获取td的行标和列标
$(this).prop('cellIndex')
2.判断是否是回车按下
varmyEvent=event||window.event;
varkey=myEvent.keyCode;
if(key==13){
//此时为回车按下
}
3.全选和反选
$("#selectall").click(function(){
if($("input[name='id[]']").is(":checked")){
$("input[name='id[]']").prop("checked",false);
}else{
$("input[name='id[]']").prop("checked",true);
}
});
4.双击修改enter保存 table中的td项双击事件
$("td").dblclick(function(){
vartdIns=$(this);
vartdpar=$(this).parents("tr");
tdpar.css("background-color","yellow");
if(tdIns.children("input").length>0){returnfalse;}
varinputIns=$("<inputtype='text'/>");//需要插入的输入框代码
vartext=$(this).html();
inputIns.width(tdIns.width());//设置input与td宽度一致
inputIns.val(tdIns.html());//将本来单元格td内容copy到插入的文本框input中
tdIns.html("");//删除原来单元格td内容
inputIns.appendTo(tdIns).focus().select();//将需要插入的输入框代码插入dom节点中
inputIns.click(function(){returnfalse;});
inputIns.keyup(function(event){
//1.判断是否回车按下
//结局不同浏览器获取时间的差异
varmyEvent=event||window.event;
varkey=myEvent.keyCode;
if(key==13){
varinputNode=$(this);
//1.保存当前文本框的内容
varinputText=inputNode.val();
//2.清空td里面的内容
inputNode.parent().html(inputText);
}
});
//处理Enter和Esc事件
inputIns.blur(function(){
varinputText=$(this).val();
tdIns.html(inputText);
tdpar.css("background-color","white");
tdIns.html(text);
});
});
5.父级元素$(this).parent();
6.指定元素的下一个同级元素$(this).next();
7.指定元素的所有同级元素$(this).nextAll();
8.指定元素和所有的同级元素$(this).andSelf();
9.prev():获取指定元素的上一个同级元素(是上一个哦)。
10.prevAll():获取指定元素的前边所有的同级元素。
11.获取子元素
方式一:>
varaNods=$("ul>a");//查找ul下的所有a标签
方式二:children()
方式三:find()
注意:
1>children及find方法都用是用来获得element的子elements的,两者都不会返回textnode,就像大多数的jQuery方法一样。
2>children方法获得的仅仅是元素一下级的子元素,即:immediatechildren。
3>find方法获得所有下级元素,即:descendantsoftheseelementsintheDOMtree
4>children方法的参数selector是可选的(optionally),用来过滤子元素,但find方法的参数selector方法是必选的。
5>find方法事实上可以通过使用jQuery(selector,context)来实现。即$('li.item-ii').find('li')等同于$('li','li.item-ii').
12.获取第一个元素:
$("#getfirst").find("ulli:first-child")
$("#getfirst").find("ulli").get(0)
$("#getfirst").find("ulli").first()
13.datepicker常用的日期选择插件datepicker
$("#waybill_eta1").datepicker({dateFormat:'yy-mm-dd'});
14.日期和时间同时选择的插件datetimepicker
$('#declare_time').datetimepicker({
dateFormat:'yy-mm-dd',
timeFormat:'hh:mm',
});
15.validate正则添加验证方法
$.validator.addMethod("isCode",function(value,element){
varreg=/^[^\u4e00-\u9fa5]{1,}$/;
returnthis.optional(element)||(reg.test(value));
},"只能输入字母数字和下划线");