亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jquery.js

?? 一個非常簡易又好用的jQuery類庫
?? JS
?? 第 1 頁 / 共 5 頁
字號:
/*! * jQuery JavaScript Library v1.3 * http://jquery.com/ * * Copyright (c) 2009 John Resig * Dual licensed under the MIT and GPL licenses. * http://docs.jquery.com/License * * Date: 2009-01-13 12:50:31 -0500 (Tue, 13 Jan 2009) * Revision: 6104 */(function(){var 	// Will speed up references to window, and allows munging its name.	window = this,	// Will speed up references to undefined, and allows munging its name.	undefined,	// Map over jQuery in case of overwrite	_jQuery = window.jQuery,	// Map over the $ in case of overwrite	_$ = window.$,	jQuery = window.jQuery = window.$ = function( selector, context ) {		// The jQuery object is actually just the init constructor 'enhanced'		return new jQuery.fn.init( selector, context );	},	// A simple way to check for HTML strings or ID strings	// (both of which we optimize for)	quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,	// Is it a simple selector	isSimple = /^.[^:#\[\.,]*$/;jQuery.fn = jQuery.prototype = {	init: function( selector, context ) {		// Make sure that a selection was provided		selector = selector || document;		// Handle $(DOMElement)		if ( selector.nodeType ) {			this[0] = selector;			this.length = 1;			this.context = selector;			return this;		}		// Handle HTML strings		if ( typeof selector === "string" ) {			// Are we dealing with HTML string or an ID?			var match = quickExpr.exec( selector );			// Verify a match, and that no context was specified for #id			if ( match && (match[1] || !context) ) {				// HANDLE: $(html) -> $(array)				if ( match[1] )					selector = jQuery.clean( [ match[1] ], context );				// HANDLE: $("#id")				else {					var elem = document.getElementById( match[3] );					// Make sure an element was located					if ( elem ){						// Handle the case where IE and Opera return items						// by name instead of ID						if ( elem.id != match[3] )							return jQuery().find( selector );						// Otherwise, we inject the element directly into the jQuery object						var ret = jQuery( elem );						ret.context = document;						ret.selector = selector;						return ret;					}					selector = [];				}			// HANDLE: $(expr, [context])			// (which is just equivalent to: $(content).find(expr)			} else				return jQuery( context ).find( selector );		// HANDLE: $(function)		// Shortcut for document ready		} else if ( jQuery.isFunction( selector ) )			return jQuery( document ).ready( selector );		// Make sure that old selector state is passed along		if ( selector.selector && selector.context ) {			this.selector = selector.selector;			this.context = selector.context;		}		return this.setArray(jQuery.makeArray(selector));	},	// Start with an empty selector	selector: "",	// The current version of jQuery being used	jquery: "1.3",	// The number of elements contained in the matched element set	size: function() {		return this.length;	},	// Get the Nth element in the matched element set OR	// Get the whole matched element set as a clean array	get: function( num ) {		return num === undefined ?			// Return a 'clean' array			jQuery.makeArray( this ) :			// Return just the object			this[ num ];	},	// Take an array of elements and push it onto the stack	// (returning the new matched element set)	pushStack: function( elems, name, selector ) {		// Build a new jQuery matched element set		var ret = jQuery( elems );		// Add the old object onto the stack (as a reference)		ret.prevObject = this;		ret.context = this.context;		if ( name === "find" )			ret.selector = this.selector + (this.selector ? " " : "") + selector;		else if ( name )			ret.selector = this.selector + "." + name + "(" + selector + ")";		// Return the newly-formed element set		return ret;	},	// Force the current matched set of elements to become	// the specified array of elements (destroying the stack in the process)	// You should use pushStack() in order to do this, but maintain the stack	setArray: function( elems ) {		// Resetting the length to 0, then using the native Array push		// is a super-fast way to populate an object with array-like properties		this.length = 0;		Array.prototype.push.apply( this, elems );		return this;	},	// Execute a callback for every element in the matched set.	// (You can seed the arguments with an array of args, but this is	// only used internally.)	each: function( callback, args ) {		return jQuery.each( this, callback, args );	},	// Determine the position of an element within	// the matched set of elements	index: function( elem ) {		// Locate the position of the desired element		return jQuery.inArray(			// If it receives a jQuery object, the first element is used			elem && elem.jquery ? elem[0] : elem		, this );	},	attr: function( name, value, type ) {		var options = name;		// Look for the case where we're accessing a style value		if ( typeof name === "string" )			if ( value === undefined )				return this[0] && jQuery[ type || "attr" ]( this[0], name );			else {				options = {};				options[ name ] = value;			}		// Check to see if we're setting style values		return this.each(function(i){			// Set all the styles			for ( name in options )				jQuery.attr(					type ?						this.style :						this,					name, jQuery.prop( this, options[ name ], type, i, name )				);		});	},	css: function( key, value ) {		// ignore negative width and height values		if ( (key == 'width' || key == 'height') && parseFloat(value) < 0 )			value = undefined;		return this.attr( key, value, "curCSS" );	},	text: function( text ) {		if ( typeof text !== "object" && text != null )			return this.empty().append( (this[0] && this[0].ownerDocument || document).createTextNode( text ) );		var ret = "";		jQuery.each( text || this, function(){			jQuery.each( this.childNodes, function(){				if ( this.nodeType != 8 )					ret += this.nodeType != 1 ?						this.nodeValue :						jQuery.fn.text( [ this ] );			});		});		return ret;	},	wrapAll: function( html ) {		if ( this[0] ) {			// The elements to wrap the target around			var wrap = jQuery( html, this[0].ownerDocument ).clone();			if ( this[0].parentNode )				wrap.insertBefore( this[0] );			wrap.map(function(){				var elem = this;				while ( elem.firstChild )					elem = elem.firstChild;				return elem;			}).append(this);		}		return this;	},	wrapInner: function( html ) {		return this.each(function(){			jQuery( this ).contents().wrapAll( html );		});	},	wrap: function( html ) {		return this.each(function(){			jQuery( this ).wrapAll( html );		});	},	append: function() {		return this.domManip(arguments, true, function(elem){			if (this.nodeType == 1)				this.appendChild( elem );		});	},	prepend: function() {		return this.domManip(arguments, true, function(elem){			if (this.nodeType == 1)				this.insertBefore( elem, this.firstChild );		});	},	before: function() {		return this.domManip(arguments, false, function(elem){			this.parentNode.insertBefore( elem, this );		});	},	after: function() {		return this.domManip(arguments, false, function(elem){			this.parentNode.insertBefore( elem, this.nextSibling );		});	},	end: function() {		return this.prevObject || jQuery( [] );	},	// For internal use only.	// Behaves like an Array's .push method, not like a jQuery method.	push: [].push,	find: function( selector ) {		if ( this.length === 1 && !/,/.test(selector) ) {			var ret = this.pushStack( [], "find", selector );			ret.length = 0;			jQuery.find( selector, this[0], ret );			return ret;		} else {			var elems = jQuery.map(this, function(elem){				return jQuery.find( selector, elem );			});			return this.pushStack( /[^+>] [^+>]/.test( selector ) ?				jQuery.unique( elems ) :				elems, "find", selector );		}	},	clone: function( events ) {		// Do the clone		var ret = this.map(function(){			if ( !jQuery.support.noCloneEvent && !jQuery.isXMLDoc(this) ) {				// IE copies events bound via attachEvent when				// using cloneNode. Calling detachEvent on the				// clone will also remove the events from the orignal				// In order to get around this, we use innerHTML.				// Unfortunately, this means some modifications to				// attributes in IE that are actually only stored				// as properties will not be copied (such as the				// the name attribute on an input).				var clone = this.cloneNode(true),					container = document.createElement("div");				container.appendChild(clone);				return jQuery.clean([container.innerHTML])[0];			} else				return this.cloneNode(true);		});		// Need to set the expando to null on the cloned set if it exists		// removeData doesn't work here, IE removes it from the original as well		// this is primarily for IE but the data expando shouldn't be copied over in any browser		var clone = ret.find("*").andSelf().each(function(){			if ( this[ expando ] !== undefined )				this[ expando ] = null;		});		// Copy the events from the original to the clone		if ( events === true )			this.find("*").andSelf().each(function(i){				if (this.nodeType == 3)					return;				var events = jQuery.data( this, "events" );				for ( var type in events )					for ( var handler in events[ type ] )						jQuery.event.add( clone[ i ], type, events[ type ][ handler ], events[ type ][ handler ].data );			});		// Return the cloned set		return ret;	},	filter: function( selector ) {		return this.pushStack(			jQuery.isFunction( selector ) &&			jQuery.grep(this, function(elem, i){				return selector.call( elem, i );			}) ||			jQuery.multiFilter( selector, jQuery.grep(this, function(elem){				return elem.nodeType === 1;			}) ), "filter", selector );	},	closest: function( selector ) {		var pos = jQuery.expr.match.POS.test( selector ) ? jQuery(selector) : null;		return this.map(function(){			var cur = this;			while ( cur && cur.ownerDocument ) {				if ( pos ? pos.index(cur) > -1 : jQuery(cur).is(selector) )					return cur;				cur = cur.parentNode;			}		});	},	not: function( selector ) {		if ( typeof selector === "string" )			// test special case where just one selector is passed in			if ( isSimple.test( selector ) )				return this.pushStack( jQuery.multiFilter( selector, this, true ), "not", selector );			else				selector = jQuery.multiFilter( selector, this );		var isArrayLike = selector.length && selector[selector.length - 1] !== undefined && !selector.nodeType;		return this.filter(function() {			return isArrayLike ? jQuery.inArray( this, selector ) < 0 : this != selector;		});	},	add: function( selector ) {		return this.pushStack( jQuery.unique( jQuery.merge(			this.get(),			typeof selector === "string" ?				jQuery( selector ) :				jQuery.makeArray( selector )		)));	},	is: function( selector ) {		return !!selector && jQuery.multiFilter( selector, this ).length > 0;	},	hasClass: function( selector ) {		return !!selector && this.is( "." + selector );	},	val: function( value ) {		if ( value === undefined ) {						var elem = this[0];			if ( elem ) {				if( jQuery.nodeName( elem, 'option' ) )					return (elem.attributes.value || {}).specified ? elem.value : elem.text;								// We need to handle select boxes special				if ( jQuery.nodeName( elem, "select" ) ) {					var index = elem.selectedIndex,						values = [],						options = elem.options,						one = elem.type == "select-one";					// Nothing was selected					if ( index < 0 )						return null;					// Loop through all the selected options					for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) {						var option = options[ i ];						if ( option.selected ) {							// Get the specifc value for the option							value = jQuery(option).val();							// We don't need an array for one selects							if ( one )								return value;							// Multi-Selects return an array							values.push( value );						}					}					return values;								}				// Everything else, we just grab the value				return (elem.value || "").replace(/\r/g, "");			}			return undefined;		}		if ( typeof value === "number" )			value += '';		return this.each(function(){			if ( this.nodeType != 1 )				return;			if ( jQuery.isArray(value) && /radio|checkbox/.test( this.type ) )				this.checked = (jQuery.inArray(this.value, value) >= 0 ||					jQuery.inArray(this.name, value) >= 0);			else if ( jQuery.nodeName( this, "select" ) ) {				var values = jQuery.makeArray(value);				jQuery( "option", this ).each(function(){					this.selected = (jQuery.inArray( this.value, values ) >= 0 ||						jQuery.inArray( this.text, values ) >= 0);				});				if ( !values.length )					this.selectedIndex = -1;			} else				this.value = value;		});	},	html: function( value ) {		return value === undefined ?			(this[0] ?				this[0].innerHTML :				null) :			this.empty().append( value );	},	replaceWith: function( value ) {		return this.after( value ).remove();	},

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
99r国产精品| 国产日产欧美一区| 欧美精品一区二区三区蜜臀| 中文字幕亚洲视频| 久久99久国产精品黄毛片色诱| 91在线视频在线| 久久无码av三级| 日韩av午夜在线观看| eeuss影院一区二区三区| 欧美xingq一区二区| 亚洲午夜久久久久| 91在线你懂得| 国产日韩欧美亚洲| 精品无码三级在线观看视频| 欧美三级日本三级少妇99| 国产精品美女久久久久aⅴ| 看片的网站亚洲| 91精品国产乱| 婷婷国产v国产偷v亚洲高清| 色综合天天做天天爱| 国产精品国产精品国产专区不蜜| 日本sm残虐另类| 欧美日韩久久久一区| 亚洲免费三区一区二区| 9人人澡人人爽人人精品| 国产亚洲欧美日韩在线一区| 精品午夜久久福利影院| 精品电影一区二区三区| 久久99国产精品久久99| 日韩一区二区在线播放| 蜜桃视频第一区免费观看| 911精品国产一区二区在线| 亚洲大尺度视频在线观看| 91高清视频在线| 亚洲一区二区三区美女| 欧美日韩一级二级| 天使萌一区二区三区免费观看| 欧美日韩欧美一区二区| 五月激情综合网| 日韩一区二区三区在线观看| 久久成人麻豆午夜电影| 精品国产三级电影在线观看| 国产精品自拍在线| 国产精品网曝门| 91免费版pro下载短视频| 一区二区在线观看av| 欧美高清视频不卡网| 久久精品国产成人一区二区三区| 欧美成人三级电影在线| 盗摄精品av一区二区三区| 中文字幕一区日韩精品欧美| 欧美性感一类影片在线播放| 日本色综合中文字幕| 久久综合狠狠综合久久综合88 | 午夜精品久久久久久久 | 亚洲1区2区3区视频| 91麻豆精品国产91久久久久久久久 | 亚洲自拍偷拍网站| 91精品国产欧美一区二区| 国产精品 日产精品 欧美精品| 国产欧美精品国产国产专区| 色猫猫国产区一区二在线视频| 国产精品18久久久久久久久| 久久久91精品国产一区二区三区| 99久久99久久精品免费观看| 日韩成人午夜精品| 国产欧美日韩视频一区二区| 日本高清不卡一区| 国精产品一区一区三区mba桃花| 国产精品久久久久婷婷二区次| 欧美日韩国产综合一区二区 | 日韩欧美亚洲国产精品字幕久久久| 国产一区二区三区日韩| 一区二区三区精品在线观看| 精品国产亚洲在线| 日本高清成人免费播放| 国产高清在线观看免费不卡| 香蕉影视欧美成人| 亚洲欧洲精品一区二区三区不卡| 91精品国产综合久久精品app | 麻豆成人免费电影| 亚洲啪啪综合av一区二区三区| 日韩三级电影网址| 欧美性猛片xxxx免费看久爱| 不卡视频一二三| 国产一区二区三区av电影| 亚洲无线码一区二区三区| 国产精品三级在线观看| 欧美tickle裸体挠脚心vk| 色爱区综合激月婷婷| 粉嫩欧美一区二区三区高清影视| 免费在线一区观看| 亚洲影院久久精品| 亚洲欧美偷拍卡通变态| 国产日韩欧美精品一区| 欧美精品一区二区高清在线观看| 欧美视频中文字幕| 91麻豆蜜桃一区二区三区| 高清国产一区二区三区| 国产一区二区三区在线观看精品 | 日本v片在线高清不卡在线观看| 中文字幕亚洲欧美在线不卡| 久久久久久电影| 精品免费日韩av| 91麻豆精品久久久久蜜臀| 欧美亚州韩日在线看免费版国语版| 成人av在线一区二区三区| 国产精华液一区二区三区| 国产一级精品在线| 韩日av一区二区| 国产真实乱偷精品视频免| 久久国产精品99久久久久久老狼 | 欧美成人一区二区三区| 欧美一级专区免费大片| 欧美一区二区三区不卡| 欧美另类久久久品| 69久久夜色精品国产69蝌蚪网| 欧美视频在线观看一区| 在线成人免费视频| 日韩一级片在线观看| 精品国产91洋老外米糕| 久久综合色鬼综合色| 国产丝袜欧美中文另类| 国产精品久线观看视频| 亚洲视频一区二区免费在线观看| ...av二区三区久久精品| 亚洲精品乱码久久久久久黑人| 一区二区三区欧美在线观看| 亚洲成人午夜影院| 久久机这里只有精品| 国产尤物一区二区| 成人av电影免费在线播放| 色婷婷综合久久久久中文一区二区 | 91丨porny丨中文| 97久久精品人人澡人人爽| 91国偷自产一区二区开放时间 | 国产欧美精品日韩区二区麻豆天美| 日本一区二区三区高清不卡| 亚洲欧洲日韩一区二区三区| 亚洲免费观看高清完整版在线观看| 亚洲最大成人网4388xx| 丝袜a∨在线一区二区三区不卡| 麻豆精品国产91久久久久久 | 久久国产尿小便嘘嘘尿| 韩国欧美国产1区| 99国产精品久| 欧美一级高清片| 中文字幕一区二区三区蜜月| 亚洲va欧美va人人爽午夜| 国产在线精品一区二区不卡了| 99久久婷婷国产精品综合| 欧美精品久久99| 中文在线资源观看网站视频免费不卡| 亚洲精品一二三四区| 国内精品视频666| 欧洲精品一区二区| 久久老女人爱爱| 亚洲福利电影网| 成人小视频在线观看| 69堂亚洲精品首页| 国产精品二三区| 国产在线精品一区二区不卡了 | 精品国产污网站| 亚洲午夜激情网页| 成人丝袜18视频在线观看| 欧美一级欧美三级在线观看 | 久久久电影一区二区三区| 亚洲综合图片区| 成人免费毛片片v| 久久综合九色综合97婷婷| 亚洲国产精品久久一线不卡| 风间由美中文字幕在线看视频国产欧美| 在线免费观看成人短视频| 中文字幕国产一区| 精品一区中文字幕| 5月丁香婷婷综合| 亚洲综合图片区| 91在线丨porny丨国产| 国产欧美一区二区精品忘忧草 | 日韩欧美在线1卡| 亚洲自拍另类综合| 丁香五精品蜜臀久久久久99网站 | 欧美精品丝袜久久久中文字幕| 国产精品家庭影院| 高潮精品一区videoshd| 26uuu国产电影一区二区| 另类中文字幕网| 3atv一区二区三区| 亚洲成人福利片| 欧美日韩极品在线观看一区| 亚洲精选在线视频| 色综合久久综合中文综合网| 国产精品久99| 一本一本大道香蕉久在线精品| 最新中文字幕一区二区三区| 成人免费视频国产在线观看| 亚洲国产精品激情在线观看 | 中文字幕 久热精品 视频在线| 国产电影一区在线| 亚洲国产电影在线观看|