一:页面加载事件
$(document).ready(function(){
});
文档加载完后的事件不包括图片
$(function(){........})
一般都需要在这两个事件里边去写方法,不然页面元素没有加载完成,
使用jquery无法获取元素对象
二:绑定事件
$('#f').click(function(){
alert("aaa");
});
$('#f').bind('click', function() {
alert("sdfsdfdsf");
});
给多个对象绑定事件
$("#city").add("#District").add("#Street").change(function () {
hostlist.searchbyp();
});
四:Jquery ajaxForm
配置属性
var options = {
type: "post",
url: "../Login/GetLogin",
success: function (data) {
}
};
$('#form').ajaxForm(options);
然后
在使用 $('#form').submit();提交表单
使用ajaxForm相比ajax方式可以少一个参数项,简洁一点
五:表单序列化
1:序列化成字符串
$("#myForm").serialize()
username=sdf&password=134
注意:表单的里边是要name属性不是id
2:序列化成数组
$("#myForm").serializeArray()
但在使用asp.net作为后台用ajax需要序列化成json的字符串
jquery插件序列化成json字符串
(function ($) {
$.fn.serializeJsonStr = function () {
var jsonstr = "{";
$(this.serializeArray()).each(function () {
jsonstr += "'" + this.name + "':'" + this.value + "',";
});
jsonstr = jsonstr.substr(0, jsonstr.length - 1);
jsonstr += "}"
return jsonstr;
};
})(jQuery);
$("#myForm").serializeJsonStr()
效果{'username':'sdf','password':'123'}
六:通过方法名调用方法
eval("ww()");
eval("ww")();
七:操作css
$(obj).css("background", "url(images/3.png)");
$("#ajtr").css("visibility", "visible");
$("#aa").attr("class","p1"); //设置样式为p1
八:传递this对象
index.jump = function (obj)
{
$(obj).css("background", "url(images/3.png)");
}
<a οnclick='index.jump(this)'>aaaaa</a>
$(document).ready(function(){ $('#selectid').change(function(){ alert($(this).children('option:selected').val()); //弹出select的值 }); })
九:解决中文乱码
encodeURI
url: encodeURI('/Home/A?type=公告'),
十:jquery与dom对象相互转化
1:dom对象转jquery
var jqueryobj = $("<a >YS 1</a>");
2:jquery转dom
var dom = jqueryobj[0];或者var dom = jqueryobj.get[0];
取outerHTML
dom .outerHTML
注意:如果直接弹出dom ,dom对象的命名有点奇怪 如果是a标签弹出来的就只是href,否者就是空
十一:jquery获取outerHTML
1:先转化成dom节点在使用outerHTML
var elemstr = $("#" + name)[0].outerHTML;
2:扩展方法
jQuery.fn.outerHtml = function() {
return $("<p></p>").append(this.clone(true)).html();
}
十二:跳转
1:本页面跳转
location.href="......";
2:打开一个新的页面
var obj = $("<span href='#' style='text-decoration:underline;cursor:pointer;text-decoration:none;'>YS 1</span>"); obj.attr("onclick", "javascript:window.open('http://www.shsict.com/as/query/search/com_user.jsp')");
十三:按回车实现登陆
$(function () { document.onkeydown = function (e) { var ev = document.all ? window.event : e; if (ev.keyCode == 13) { users.Login();调用登陆方法 } } });
十四:常用选择器
$('#dg6').parent().find("div .datagrid-header-check").children("input[type='checkbox']").eq(0).click(); $('#dg6').parent().find("div .datagrid-header-check").children("input[type='checkbox']").eq(0).attr("checked", true);
updateBg = function (thisName) { $(thisName).parent().find("a").removeAttr("class"); $(thisName).addClass("cur"); }
$('#dg6 a');
获取兄弟节点:
$('#id').siblings() 当前元素所有的兄弟节点$('#id').prev() 当前元素前一个兄弟节点$('#id').prevaAll() 当前元素之前所有的兄弟节点$('#id').next() 当前元素之后第一个兄弟节点$('#id').nextAll() 当前元素之后所有的兄弟节点这三个方法都可以添加选择器,给出选择条件,就能找到你指定的兄弟节点了。
十五:jquery循环
1:for
$("#test td").each(function (index) {
var aa = $(this).children().eq(index - 1).val();
alert(aa);
});
$.each(dataObj, function (index) {
var item = dataObj[index];
alert(item.Carrier);
alert(item.Qyport);
alert(item.Number);
});
十六:比较时间
将这两个字符串转换为Date类型,就可以直接比较大小了
function toDate(str){
var sd=str.split("-");
return new Date(sd[0],sd[1]-1,sd[2]); //注意需要在月份上减一,因为js的月份是从0开始的
}
var d1=toDate("2001-2-2 ");
var d2=toDate("2001-2-3");
alert(d1>d2);
十七:jQuery中add实现同时选择两个id对象
当用jQuery选择demo1和demo2,不要告诉我用jQuery('div')。
这时就要用到标题中提到的方法,jQuery add方法:追加标签。
jQuery('#demo1").add('#demo2");
十八:选中效果
$("#tagqhaj li").eq(0).addClass("active").siblings("li").removeClass("active");
$(_my).addClass("active").siblings("li").removeClass("active");//选中点击的,去掉其他的
一般模板页的菜单可以不选中任何一个,切换到具体的页面的时候在选中对应的,这样切换大菜单的时候选中就相对独立互不影响
十九:js取当前url页面名称
比如:http://网址/baike/3534.html?page=xxx
我想用JS获取“3534”这个变量
var url = document.location.href;
var urlList = url.split('/');
var a = urlList[urlList.length-1].split('.')[0];
或者
var url = document.location.pathname;
var urlList = url.split('/');
var name = urlList[urlList.length - 1]
alert(name);
二十:全部替换
string.replace(/reallyDo/g, replaceWith);
string.replace(new RegExp(reallyDo, 'g'), replaceWith);
http://fuleonardo.iteye.com/blog/339749
二十一;Jquery滑动开关方法
slideToggle
二十一:JSON字符串转与JSON对象相互转化
var str2 = { "name": "cxh", "sex": "man" };
要使用上面的str1,必须使用下面的方法先转化为JSON对象:
//由JSON字符串转换为JSON对象
var obj = eval('(' + str + ')');
可以使用toJSONString()或者全局方法JSON.stringify()将JSON对象转化为JSON字符串。
例如:
var last=obj.toJSONString(); //将JSON对象转化为JSON字符
或者
var last=JSON.stringify(obj); //将JSON对象转化为JSON字符
alert(last);
二十二:构建json对象,json数组
var othercontractJsons = [];
$("#othercontactsTable tr").each(function (index, item) {
var othercontractJson = {};
//$(item).find("input").each(function (index, item) {
othercontractJson.test = "123";
othercontractJson.aaa = "234";
//});
othercontractJsons.push(othercontractJson);
});
js学习资料