jQuery技巧集锦
1 使用has()方法,保留具有特定特征的元素:
$("input").has(".email").addClass("email_icon");2 识别IE浏览器
if ($.browser.msie) {
// for Internet Explorer
}3 获取某个元素的位置索引
$("ul > li").click(function () {
var index = $(this).prevAll().length;
});4 找到选中的option元素
$('#someElement').find('option:selected');5 滚动到页面某个区域
jQuery.fn.autoscroll = function(selector) {
$('html,body').animate(
{scrollTop: $(selector).offset().top},
500
};
}
//然后像这样来滚动到你希望去到的class/area上。
$('.area_name').autoscroll();6 字符串替换
var el = $('#id');
el.html(el.html().replace(/word/ig, ''));7 禁用右键菜单
$(document).bind('contextmenu',function(e){
return false;
});8 判断元素是否存在
if ($('#someDiv').length) {
//存在时的操作
}9 判断鼠标左右键
$("#someelement").live('click', function(e) {
if( (!$.browser.msie && e.button == 0) || ($.browser.msie && e.button == 1) ) {
alert("Left Mouse Button Clicked");
} else if(e.button == 2) {
alert("Right Mouse Button Clicked");
}
});10 显示或删除input域中的默认值
wap_val = [];
$(".swap").each(function(i){
wap_val[i] = $(this).val();
$(this).focusin(function(){
if ($(this).val() == swap_val[i]) {
$(this).val("");
}
}).focusout(function(){
if ($.trim($(this).val()) == "") {
$(this).val(swap_val[i]);
}
});
});
<input type="text" value="Enter Username here.." class="swap" />11 限制text/textarea域中的字符个数
jQuery.fn.maxLength = function(max){
this.each(function(){
var type = this.tagName.toLowerCase();
var inputType = this.type? this.type.toLowerCase() : null;
if(type == "input" && inputType == "text" || inputType == "password"){
//Apply the standard maxLength
this.maxLength = max;
}
else if(type == "textarea"){
this.onkeypress = function(e){
var ob = e || event;
var keyCode = ob.keyCode;
var hasSelection = document.selection? document.selection.createRange().text.length > 0 : this.selectionStart != this.selectionEnd;
return !(this.value.length >= max && (keyCode > 50 || keyCode == 32 || keyCode == 0 || keyCode == 13) && !ob.ctrlKey && !ob.altKey && !hasSelection);
};
this.onkeyup = function(){
if(this.value.length > max){
this.value = this.value.substring(0,max);
}
};
}
});
};
//用法
$('#mytextarea').maxLength(500);12 判断元素是否可见
if($(element).is(':visible') == 'true') {
//该元素是可见的
}13 将元素置于屏幕中心位置
jQuery.fn.center = function () {
this.css('position','absolute');
this.css('top', ( $(window).height() - this.height() ) / +$(window).scrollTop() + 'px');
this.css('left', ( $(window).width() - this.width() ) / 2+$(window).scrollLeft() + 'px');
return this;
}
//这样来使用上面的函数:
$(element).center();14 从元素中除去html
(function($) {
$.fn.stripHtml = function() {
var regexp = /<("[^"]*"|'[^']*'|[^'">])*>/gi;
this.each(function() {
$(this).html( $(this).html().replace(regexp,”") );
});
return $(this);
}
})(jQuery);
//用法:
$('p').stripHtml();15 判断数据类型
$.type(obj);