好久不写东西了......话不多说,主要记录一下,最近做的项目中用到的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');
}
})
}