好久不写东西了......话不多说,主要记录一下,最近做的项目中用到的js的记录(虽然特别特别简单)
一 jquery常用写法记录
jQuery(this).addClass("select").siblings().removeClass("select"); jQuery(this).parent().next('span').children('a').attr('href'); //查询相邻元素 jQuery(this).parent().prevAll('.collgrid4w').children('.items').addClass('yk-v-sub-all'); jQuery(this).parent().prev('div').show(); jQuery("#yk-toolbar-con-list").scrollTop(0); //初始化此元素上的滚动条位置 jQuery("#yk-toolbar-con-list").prop('scrollTop',0); jQuery('#loadsubscribe_left_wenzi').delay(500).slideUp(800);//0.5秒后,淡出效果 jquery判断某个dom元素是否存在 以及 是否可见 jQuery('#defaultuser_flag').length > 0 //表示存在 jQuery('#loadsubscribe_right_wenzi_recent').is(':visible');//是否可见 jQuery(this).find('div.num-dot-small')//找到后代元素中,特定类的div
jQuery(this).find('div.num-dot-small:last').attr('data_date')//获取后代元素中,特定类的div中的 最后一个匹配元素的 特定属性的值
$("div[id]") 查找所有含有 id 属性的div元素 $("div[id='ajaxa']") 查找 id 为 ajaxa 的 div 元素 $("div[id!='ajaxa']") 查找 id 不为 ajaxa 的 div 元素 $("div[id^='ajaxa']") 查找 id 以 ajaxa 开头的 div 元素 $("div[id$='ajaxa']") 查找 id 以 ajaxa 结尾的 div 元素 $("div[id*='ajaxa']") 查找 id 含 ajaxa 的 div 元素 $("div[id][class='ajaxa']") 查找存在id属性并且类为ajaxa的 div 元素 $("div[id][title$='ajaxa']") 查找存在id属性并且title属性值以 ajaxa 结尾的 div元素 $("#uid").find("div.item[statistic!='al']") id=uid下查找,类名是item的div,并且statistic属性不等于al的元素
检测Safari (if( $.browser.safari)), 检测IE6及之后版本 (if ($.browser.msie && $.browser.version > 6 )), 检测IE6及之前版本 (if ($.browser.msie && $.browser.version <= 6 )), 检测FireFox 2及之后版本 (if ($.browser.mozilla && $.browser.version >= '1.8' ))
二 常用方法记录
UA方法的记录
function getUA() { var Sys = {}; var ua = navigator.userAgent.toLowerCase(); var s; (s = ua.match(/rv:([d.]+)) like gecko/)) ? Sys.ie = s[1] : (s = ua.match(/msie ([d.]+)/)) ? Sys.ie = s[1] : (s = ua.match(/firefox/([d.]+)/)) ? Sys.firefox = s[1] : (s = ua.match(/chrome/([d.]+)/)) ? Sys.chrome = s[1] : (s = ua.match(/opera.([d.]+)/)) ? Sys.opera = s[1] : (s = ua.match(/version/([d.]+).*safari/)) ? Sys.safari = s[1] : 0; return Sys; } var browserVersion = getUA(); if (!browserVersion.safari){ }
getcookie方法的记录
function getCookie(name) { var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)"); if (arr = document.cookie.match(reg)) return unescape(arr[2]); else return null; } var uid = getCookie('_l_lgi');
resize事件记录
(function () { var fn = function () { var w = document.documentElement ? document.documentElement.clientWidth : document.body.clientWidth, r = 1280, b = jQuery(document.body), classname = b.className; if (w <= r) { b.removeClass('yk-toolbar-gte-w1280').addClass('yk-toolbar-w1280'); } else { b.removeClass('yk-toolbar-w1280').addClass('yk-toolbar-gte-w1280'); } } if (window.addEventListener) { window.addEventListener('resize', function () { fn(); }); } else if (window.attachEvent) { window.attachEvent('onresize', function () { fn(); }); } fn(); })();
三 注意事项
1.为动态生成的元素绑定事件,统一用on
$(document).on('click','#username',function(){}) $('#username li').on('click',function(){}) on左边的元素必须是原来就有的,不是动态生成的元素,否则,事件绑定不成功; 如第二个绑定语句中的 id=username元素是动态生成的,事件绑定是不生效的,这时,左侧元素可用document
2.对于动态绑定的元素,ajax
jQuery(document).on('click', "#yk-toolbar-con-update-rec .subscription_btn", function () { var button_jquery = jQuery(this); //赋值当前jQuery对象 var friend_uid_rec = jQuery(this).attr('userid'); jQuery.ajax({ xxx... success:function(){ jQuery(this).html('xxx');//此时此值取不到,可用变量的形式
button_jquery.html('xxx'); } }) }