`
- 浏览:
191194 次
- 性别:
- 来自:
武汉
-
-
**
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- var _jQuery = window.jQuery,
-
- _$ = window.$;
-
- var jQuery = window.jQuery = window.$ = function(selector, context) {
-
-
return new jQuery.fn.init(selector, context);
- };
-
-
-
- var quickExpr = /^[^<]*(<(.|\s)+>)[^>]*$|^#([\w-]+)$/,
-
-
- isSimple = /^.[^:#\[\.]*$/,
-
-
- undefined;
-
- jQuery.fn = jQuery.prototype = {
- init : function(selector, context) {
-
selector = selector || document;
-
-
-
if (selector.nodeType) {
-
this[0] = selector;
-
this.length = 1;
-
return this;
- }
-
if (typeof selector == "string") {
-
- var match = quickExpr.exec(selector);
-
-
if (match && (match[1] || !context)) {
-
if (match[1])
-
selector = jQuery.clean([match[1]], context);
-
else {
-
var elem = document.getElementById(match[3]);
-
-
-
if (elem) {
-
-
-
if (elem.id != match[3])
-
return jQuery().find(selector);
-
-
-
-
return jQuery(elem);
- }
- selector = [];
- }
-
} else
-
-
return jQuery(context).find(selector);
-
} else if (jQuery.isFunction(selector))
-
-
return jQuery(document)[jQuery.fn.ready ? "ready" : "load"](selector);
-
-
-
return this.setArray(jQuery.makeArray(selector));
- },
-
-
-
jquery : "@VERSION",
-
-
- size : function() {
-
return this.length;
- },
-
-
length : 0,
-
-
- get : function(num) {
-
return num == undefined ? jQuery.makeArray(this) : this[num];
- },
-
-
- pushStack : function(elems) {
-
var ret = jQuery(elems);
-
ret.prevObject = this;
-
return ret;
- },
-
-
- setArray : function(elems) {
-
this.length = 0;
-
Array.prototype.push.apply(this, elems);
-
return this;
- },
-
-
-
each : function(callback, args) {
-
-
return jQuery.each(this, callback, args);
- },
-
-
- index : function(elem) {
-
var ret = -1;
-
return jQuery.inArray(
-
elem && elem.jquery ? elem[0] : elem, this);
- },
-
-
-
-
-
-
-
-
-
- attr : function(name, value, type) {
-
var options = name;
-
if (name.constructor == String)
-
if (value === undefined)
-
-
return this[0] && jQuery[type || "attr"](this[0], name);
-
else {
- options = {};
- options[name] = value;
- }
-
return this.each(function(i) {
-
for (name in options)
-
-
jQuery.attr(type ? this.style : this, name, jQuery
-
.prop(this, options[name], type, i, name));
- });
- },
-
-
-
-
-
-
-
- css : function(key, value) {
-
-
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])
-
-
-
-
-
-
-
-
-
jQuery(html, this[0].ownerDocument).clone().insertBefore(this[0])
-
.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, false, function(elem) {
-
if (this.nodeType == 1)
-
this.appendChild(elem);
- });
- },
-
-
-
prepend : function() {
-
return this.domManip(arguments, true, true, function(elem) {
-
if (this.nodeType == 1)
-
this.insertBefore(elem, this.firstChild);
- });
- },
-
-
- before : function() {
-
return this.domManip(arguments, false, false, function(elem) {
-
this.parentNode.insertBefore(elem, this);
- });
- },
-
-
- after : function() {
-
return this.domManip(arguments, false, true, function(elem) {
-
this.parentNode.insertBefore(elem, this.nextSibling);
- });
- },
-
-
-
-
- end : function() {
-
return this.prevObject || jQuery([]);
- },
-
-
-
- find : function(selector) {
-
var elems = jQuery.map(this, function(elem) {
-
return jQuery.find(selector, elem);
- });
-
-
return this.pushStack(/[^+>] [^+>]/.test(selector) ? jQuery
-
.unique(elems) : elems);
- },
-
-
- clone : function(events) {
-
-
var ret = this.map(function() {
-
if (jQuery.browser.msie && !jQuery.isXMLDoc(this)) {
-
-
-
var clone = this.cloneNode(true), container = document
-
.createElement("div");
- container.appendChild(clone);
-
return jQuery.clean([container.innerHTML])[0];
-
} else
-
return this.cloneNode(true);
- });
-
-
-
-
-
-
var clone = ret.find("*").andSelf().each(function() {
-
if (this[expando] != undefined)
-
this[expando] = null;
- });
-
-
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 ret;
- },
-
-
-
-
filter : function(selector) {
-
return this.pushStack(jQuery.isFunction(selector)
-
&& jQuery.grep(this, function(elem, i) {
-
return selector.call(elem, i);
-
}) || jQuery.multiFilter(selector, this));
- },
-
-
- not : function(selector) {
-
if (selector.constructor == String)
-
if (isSimple.test(selector))
-
return this.pushStack(jQuery.multiFilter(selector, this, true));
-
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 this.is("." + selector);
- },
-
-
-
-
- val : function(value) {
-
if (value == undefined) {
-
-
if (this.length) {
-
var elem = this[0];
-
-
if (jQuery.nodeName(elem, 'option'))
-
return (elem.attributes.value || {}).specified
- ? elem.value
- : elem.text;
-
-
-
if (jQuery.nodeName(elem, "select")) {
-
var index = elem.selectedIndex, values = [], options = elem.options, one = elem.type == "select-one";
-
-
-
if (index < 0)
-
return null;
-
-
-
for (var i = one ? index : 0, max = one
-
? index + 1
- : options.length;i < max; i++) {
- var option = options[i];
-
-
if (option.selected) {
-
- value = jQuery(option).val();
-
-
-
if (one)
-
return value;
-
-
- values.push(value);
- }
- }
-
-
return values;
-
-
-
} else
-
return (this[0].value || "").replace(/\r/g, "");
-
- }
-
-
return undefined;
- }
-
-
if (value.constructor == Number)
-
value += '';
-
-
return this
- .each(function() {
-
if (this.nodeType != 1)
-
return;
-
-
if (value.constructor == Array
-
&& /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();
- },
-
- eq : function(i) {
-
return this.slice(i, +i + 1);
- },
-
-
- slice : function() {
-
return this.pushStack(Array.prototype.slice.apply(this, arguments));
- },
-
-
-
- map : function(callback) {
-
return this.pushStack(jQuery.map(this, function(elem, i) {
-
return callback.call(elem, i, elem);
- }));
- },
-
-
- andSelf : function() {
-
return this.add(this.prevObject);
- },
-
-
-
-
-
-
-
-
-
- data : function(key, value) {
-
var parts = key.split(".");
-
parts[1] = parts[1] ? "." + parts[1] : "";
-
-
if (value === undefined) {
-
-
var data = this.triggerHandler("getData" + parts[1] + "!",
-
[parts[0]]);
-
-
if (data === undefined && this.length)
-
data = jQuery.data(this[0], key);
-
-
return data === undefined && parts[1] ? this.data(parts[0]) : data;
-
} else {
-
return this.trigger("setData" + parts[1] + "!", [parts[0], value])
- .each(function() {
-
jQuery.data(this, key, value);
- });
- }
- },
-
-
-
- removeData : function(key) {
-
return this.each(function() {
-
jQuery.removeData(this, key);
- });
- },
-
-
-
- domManip : function(args, table, reverse, callback) {
-
var clone = this.length > 1, elems;
-
-
-
return this.each(function() {
-
if (!elems) {
-
elems = jQuery.clean(args, this.ownerDocument);
-
if (reverse)
- elems.reverse();
- }
-
-
var obj = this;
-
-
-
if (table && jQuery.nodeName(this, "table")
-
&& jQuery.nodeName(elems[0], "tr"))
-
obj = this.getElementsByTagName("tbody")[0]
-
|| this.appendChild(this.ownerDocument
-
.createElement("tbody"));
-
- var scripts = jQuery([]);
-
- jQuery.each(elems, function() {
-
-
var elem = clone ? jQuery(this).clone(true)[0] : this;
-
-
-
if (jQuery.nodeName(elem, "script"))
- scripts = scripts.add(elem);
-
else {
-
-
if (elem.nodeType == 1)
-
scripts = scripts.add(jQuery("script", elem)
- .remove());
-
-
- callback.call(obj, elem);
- }
- });
-
- scripts.each(evalScript);
- });
- }
- };
-
-
- jQuery.fn.init.prototype = jQuery.fn;
-
- function evalScript(i, elem) {
-
if (elem.src) {
- jQuery.ajax( {
- url : elem.src,
-
async : false,
-
dataType : "script"
- });
-
} else {
- jQuery
- .globalEval(elem.text || elem.textContent || elem.innerHTML
-
|| "");
- }
-
if (elem.parentNode)
- elem.parentNode.removeChild(elem);
- }
-
- function now() {
-
return +new Date;
- }
-
- jQuery.extend = jQuery.fn.extend = function() {
-
-
var target = arguments[0] || {},
-
i = 1, length = arguments.length, deep = false, options;
-
-
if (target.constructor == Boolean) {
-
deep = target;
-
target = arguments[1] || {};
-
i = 2;
- }
-
-
-
if (typeof target != "object" && typeof target != "function")
- target = {};
-
-
if (length == i) {
-
target = this;
- --i;
- }
-
-
for (;i < length; i++)
-
if ((options = arguments[i]) != null)
-
-
for (var name in options) {
- var src = target[name], copy = options[name];
-
if (target === copy)
-
continue;
-
-
if (deep && copy && typeof copy == "object" && !copy.nodeType)
- target[name] = jQuery.extend(deep, src
-
|| (copy.length != null ? [] : {}), copy);
-
else if (copy !== undefined)
- target[name] = copy;
-
- }
-
-
return target;
- };
-
-
var expando = "jQuery" + now(), uuid = 0, windowData = {},
-
- exclude = /z-?index|font-?weight|opacity|zoom|line-?height/i,
-
-
- defaultView = document.defaultView || {};
-
- jQuery.extend( {
- noConflict : function(deep) {
- window.$ = _$;
-
-
if (deep)
- window.jQuery = _jQuery;
-
-
return jQuery;
- },
-
-
-
-
- isFunction : function(fn) {
-
return fn instanceof Function;
- },
-
-
- isXMLDoc : function(elem) {
-
return elem.documentElement && !elem.body || elem.tagName
- && elem.ownerDocument && !elem.ownerDocument.body;
- },
-
-
-
- globalEval : function(data) {
- data = jQuery.trim(data);
-
-
if (data) {
-
-
-
var head = document.getElementsByTagName("head")[0]
- || document.documentElement, script = document
-
.createElement("script");
-
-
script.type = "text/javascript";
-
if (jQuery.browser.msie)
- script.text = data;
-
else
- script.appendChild(document.createTextNode(data));
-
-
-
- head.insertBefore(script, head.firstChild);
- head.removeChild(script);
- }
- },
-
-
- nodeName : function(elem, name) {
-
return elem.nodeName
- && elem.nodeName.toUpperCase() == name.toUpperCase();
- },
-
- cache : {},
-
- data : function(elem, name, data) {
- elem = elem == window ? windowData : elem;
-
- var id = elem[expando];
-
-
-
if (!id)
- id = elem[expando] = ++uuid;
-
-
-
-
if (name && !jQuery.cache[id])
- jQuery.cache[id] = {};
-
-
-
if (data !== undefined)
- jQuery.cache[id][name] = data;
-
-
-
return name ? jQuery.cache[id][name] : id;
- },
-
- removeData : function(elem, name) {
- elem = elem == window ? windowData : elem;
-
- var id = elem[expando];
-
-
-
if (name) {
-
if (jQuery.cache[id]) {
-
- delete jQuery.cache[id][name];
-
-
-
name = "";
-
-
for (name in jQuery.cache[id])
-
break;
-
-
if (!name)
- jQuery.removeData(elem);
- }
-
-
-
} else {
-
-
try {
- delete elem[expando];
-
} catch (e) {
-
-
-
if (elem.removeAttribute)
- elem.removeAttribute(expando);
- }
-
-
- delete jQuery.cache[id];
- }
- },
-
-
- each : function(object, callback, args) {
-
var name, i = 0, length = object.length;
-
-
if (args) {
-
if (length == undefined) {
-
for (name in object)
-
if (callback.apply(object[name], args) === false)
-
break;
-
} else
-
for (;i < length;)
-
if (callback.apply(object[i++], args) === false)
-
break;
-
-
-
} else {
-
-
if (length == undefined) {
-
for (name in object)
-
if (callback.call(object[name], name, object[name]) === false)
-
break;
-
} else
-
-
for (var value = object[0];i < length
-
&& callback.call(value, i, value) !== false; value = object[++i]) {
- }
- }
-
-
return object;
- },
-
-
- prop : function(elem, value, type, i, name) {
-
if (jQuery.isFunction(value))
-
value = value.call(elem, i);
-
-
return value && value.constructor == Number && type == "curCSS"
-
&& !exclude.test(name) ? value + "px" : value;
- },
-
-
- className : {
-
-
add : function(elem, classNames) {
-
jQuery.each((classNames || "").split(/\s+/),
- function(i, className) {
-
if (elem.nodeType == 1
- && !jQuery.className.has(elem.className,
- className))
-
elem.className += (elem.className ? " " : "")
- + className;
- });
- },
-
-
- remove : function(elem, classNames) {
-
if (elem.nodeType == 1)
- elem.className = classNames != undefined ? jQuery.grep(
-
elem.className.split(/\s+/), function(className) {
-
return !jQuery.className.has(classNames,
- className);
-
}).join(" ") : "";
- },
-
-
- has : function(elem, className) {
-
return jQuery.inArray(className, (elem.className || elem)
-
.toString().split(/\s+/)) > -1;
- }
- },
-
-
- swap : function(elem, options, callback) {
- var old = {};
-
for (var name in options) {
- old[name] = elem.style[name];
- elem.style[name] = options[name];
- }
-
- callback.call(elem);
-
-
-
for (var name in options)
- elem.style[name] = old[name];
- },
-
-
- css : function(elem, name, force) {
-
-
if (name == "width" || name == "height") {
- var val, props = {
-
position : "absolute",
-
visibility : "hidden",
-
display : "block"
-
}, which = (name == "width" ? ["Left", "Right"] : ["Top",
-
"Bottom"]);
-
-
function getWH() {
-
val = name == "width"
- ? elem.offsetWidth
- : elem.offsetHeight;
-
var padding = 0, border = 0;
- jQuery.each(which, function() {
-
-
padding += parseFloat(jQuery.curCSS(elem, "padding"
-
+ this, true))
-
|| 0;
-
-
border += parseFloat(jQuery.curCSS(elem, "border"
-
+ this + "Width", true))
-
|| 0;
- });
- val -= Math.round(padding + border);
- }
-
-
if (jQuery(elem).is(":visible"))
- getWH();
-
else
-
- jQuery.swap(elem, props, getWH);
-
-
return Math.max(0, val);
- }
-
-
return jQuery.curCSS(elem, name, force);
- },
-
- curCSS : function(elem, name, force) {
- var ret, style = elem.style;
-
-
- function color(elem) {
-
if (!jQuery.browser.safari)
-
return false;
-
-
-
var ret = defaultView.getComputedStyle(elem, null);
-
return !ret || ret.getPropertyValue("color") == "";
- }
-
-
-
if (name == "opacity" && jQuery.browser.msie) {
-
ret = jQuery.attr(style, "opacity");
-
return ret == "" ? "1" : ret;
- }
-
-
-
if (jQuery.browser.opera && name == "display") {
- var save = style.outline;
-
style.outline = "0 solid black";
- style.outline = save;
- }
-
-
if (name.match(/float/i))
- name = styleFloat;
-
-
if (!force && style && style[name])
-
ret = style[name];
-
else if (defaultView.getComputedStyle) {
-
-
if (name.match(/float/i))
-
name = "float";
-
-
name = name.replace(/([A-Z])/g, "-$1").toLowerCase();
-
-
var computedStyle = defaultView.getComputedStyle(elem, null);
-
-
if (computedStyle && !color(elem))
- ret = computedStyle.getPropertyValue(name);
-
else {
-
var swap = [], stack = [], a = elem, i = 0;
-
-
-
for (;a && color(a); a = a.parentNode)
- stack.unshift(a);
-
-
-
-
-
for (;i < stack.length; i++)
-
if (color(stack[i])) {
- swap[i] = stack[i].style.display;
-
stack[i].style.display = "block";
- }
-
-
-
-
ret = name == "display" && swap[stack.length - 1] != null
-
? "none"
- : (computedStyle && computedStyle
- .getPropertyValue(name))
-
|| "";
-
-
-
for (i = 0;i < swap.length; i++)
-
if (swap[i] != null)
- stack[i].style.display = swap[i];
- }
-
-
-
if (name == "opacity" && ret == "")
-
ret = "1";
-
-
} else if (elem.currentStyle) {
- var camelCase = name.replace(/\-(\w)/g, function(all, letter) {
-
return letter.toUpperCase();
- });
-
- ret = elem.currentStyle[name] || elem.currentStyle[camelCase];
-
-
-
-
-
-
-
-
if (!/^\d+(px)?$/i.test(ret) && /^\d/.test(ret)) {
-
- var left = style.left, rsLeft = elem.runtimeStyle.left;
-
-
- elem.runtimeStyle.left = elem.currentStyle.left;
-
style.left = ret || 0;
-
ret = style.pixelLeft + "px";
-
-
- style.left = left;
- elem.runtimeStyle.left = rsLeft;
- }
- }
-
-
return ret;
- },
-
-
- clean : function(elems, context) {
- var ret = [];
- context = context || document;
-
-
-
if (typeof context.createElement == 'undefined')
-
-
context = context.ownerDocument || context[0]
-
&& context[0].ownerDocument || document;
-
- jQuery
- .each(elems, function(i, elem) {
-
if (typeof elem == 'number')
-
elem += '';
-
-
if (!elem)
-
return;
-
-
-
if (typeof elem == "string") {
-
-
- elem = elem
- .replace(
-
/(<(\w+)[^>]*?)\/>/g,
- function(all, front, tag) {
-
return tag
- .match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)
- ? all
-
: front + "></" + tag
-
+ ">";
- });
-
-
- var tags = jQuery.trim(elem).toLowerCase(), div = context
-
.createElement("div");
-
-
-
var wrap = !tags.indexOf("<opt")
-
&& [1, "<select multiple='multiple'>",
-
"</select>"]
-
|| !tags.indexOf("<leg")
-
&& [1, "<fieldset>", "</fieldset>"]
- || tags
- .match(/^<(thead|tbody|tfoot|colg|cap)/)
-
&& [1, "<table>", "</table>"]
-
|| !tags.indexOf("<tr")
-
&& [2, "<table><tbody>", "</tbody></table>"]
-
|| (!tags.indexOf("<td") || !tags
-
.indexOf("<th"))
-
&& [3, "<table><tbody><tr>",
-
"</tr></tbody></table>"]
-
|| !tags.indexOf("<col")
-
&& [2, "<table><tbody></tbody><colgroup>",
-
"</colgroup></table>"]
- ||
-
-
-
- jQuery.browser.msie
-
&& [1, "div<div>", "</div>"] ||
-
-
[0, "", ""];
-
-
-
div.innerHTML = wrap[1] + elem + wrap[2];
-
-
while (wrap[0]--)
-
-
- div = div.lastChild;
-
-
-
if (jQuery.browser.msie) {
-
-
-
var tbody = !tags.indexOf("<table")
-
&& tags.indexOf("<tbody") < 0
-
? div.firstChild
- && div.firstChild.childNodes :
-
-
-
wrap[1] == "<table>"
-
&& tags.indexOf("<tbody") < 0
-
? div.childNodes
- : [];
-
-
for (var j = tbody.length - 1;j >= 0; --j)
-
if (jQuery.nodeName(tbody[j], "tbody")
- && !tbody[j].childNodes.length)
- tbody[j].parentNode
- .removeChild(tbody[j]);
-
-
-
-
if (/^\s/.test(elem))
- div.insertBefore(
- context.createTextNode(elem
-
.match(/^\s*/)[0]),
- div.firstChild);
-
- }
-
- elem = jQuery.makeArray(div.childNodes);
- }
-
-
if (elem.length === 0
-
&& (!jQuery.nodeName(elem, "form") && !jQuery
-
.nodeName(elem, "select")))
-
return;
-
-
if (elem[0] == undefined
-
|| jQuery.nodeName(elem, "form")
- || elem.options)
- ret.push(elem);
-
-
else
-
- ret = jQuery.merge(ret, elem);
-
- });
-
-
return ret;
- },
-
-
-
- attr : function(elem, name, value) {
-
-
if (!elem || elem.nodeType == 3 || elem.nodeType == 8)
-
return undefined;
-
- var notxml = !jQuery.isXMLDoc(elem),
-
- set = value !== undefined, msie = jQuery.browser.msie;
-
-
- name = notxml && jQuery.props[name] || name;
-
-
-
-
if (elem.tagName) {
-
var special = /href|src|style/.test(name);
-
-
-
if (name == "selected" && jQuery.browser.safari)
- elem.parentNode.selectedIndex;
-
-
if (name in elem && notxml && !special) {
-
if (set) {
-
-
if (name == "type" && jQuery.nodeName(elem, "input")
- && elem.parentNode)
-
throw "type property can't be changed";
-
- elem[name] = value;
- }
-
-
-
if (jQuery.nodeName(elem, "form")
- && elem.getAttributeNode(name))
-
return elem.getAttributeNode(name).nodeValue;
-
-
return elem[name];
- }
-
-
if (msie && notxml && name == "style")
-
return jQuery.attr(elem.style, "cssText", value);
-
-
if (set)
-
-
elem.setAttribute(name, "" + value);
-
- var attr = msie && notxml && special
-
-
? elem.getAttribute(name, 2)
- : elem.getAttribute(name);
-
-
return attr === null ? undefined : attr;
- }
-
-
-
-
-
if (msie && name == "opacity") {
-
if (set) {
-
-
elem.zoom = 1;
-
-
-
elem.filter = (elem.filter || "").replace(/alpha\([^)]*\)/,
-
"")
-
+ ((parseInt(value) + '' == "NaN"
-
? ""
-
: "alpha(opacity=" + value * 100 + ")"));
- }
-
-
return elem.filter && elem.filter.indexOf("opacity=") >= 0
-
? (parseFloat(elem.filter.match(/opacity=([^)]*)/)[1]) / 100)
-
+ ''
-
: "";
- }
-
- name = name.replace(/-([a-z])/ig, function(all, letter) {
-
return letter.toUpperCase();
- });
-
-
if (set)
- elem[name] = value;
-
-
return elem[name];
- },
-
-
- trim : function(text) {
-
return (text || "").replace(/^\s+|\s+$/g, "");
- },
-
-
- makeArray : function(array) {
- var ret = [];
-
-
if (array != null) {
- var i = array.length;
-
-
if (i == null || array.split || array.setInterval || array.call)
-
ret[0] = array;
-
else
-
while (i)
- ret[--i] = array[i];
- }
-
-
return ret;
- },
-
-
- inArray : function(elem, array) {
-
for (var i = 0, length = array.length;i < length; i++)
-
-
if (array[i] === elem)
-
return i;
-
return -1;
- },
-
-
- merge : function(first, second) {
-
-
-
var i = 0, elem, pos = first.length;
-
-
-
-
if (jQuery.browser.msie) {
-
while (elem = second[i++])
-
if (elem.nodeType != 8)
- first[pos++] = elem;
-
-
} else
-
while (elem = second[i++])
- first[pos++] = elem;
-
-
return first;
- },
-
-
- unique : function(array) {
- var ret = [], done = {};
-
-
try {
-
-
for (var i = 0, length = array.length;i < length; i++) {
- var id = jQuery.data(array[i]);
-
-
if (!done[id]) {
-
done[id] = true;
- ret.push(array[i]);
- }
- }
-
-
} catch (e) {
- ret = array;
- }
-
-
return ret;
- },
-
-
- grep : function(elems, callback, inv) {
- var ret = [];
-
-
-
-
for (var i = 0, length = elems.length;i < length; i++)
-
if (!inv != !callback(elems[i], i))
- ret.push(elems[i]);
-
-
return ret;
- },
-
-
- map : function(elems, callback) {
- var ret = [];
-
-
-
-
for (var i = 0, length = elems.length;i < length; i++) {
- var value = callback(elems[i], i);
-
-
if (value != null)
- ret[ret.length] = value;
- }
-
-
return ret.concat.apply([], ret);
- }
- });
-
- var userAgent = navigator.userAgent.toLowerCase();
-
-
- jQuery.browser = {
-
version : (userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [0, '0'])[1],
- safari : /webkit/.test(userAgent),
- opera : /opera/.test(userAgent),
- msie : /msie/.test(userAgent) && !/opera/.test(userAgent),
- mozilla : /mozilla/.test(userAgent)
- && !/(compatible|webkit)/.test(userAgent)
- };
-
-
var styleFloat = jQuery.browser.msie ? "styleFloat" : "cssFloat";
-
- jQuery.extend( {
-
-
-
boxModel : !jQuery.browser.msie || document.compatMode == "CSS1Compat",
-
- props : {
-
"for" : "htmlFor",
-
"class" : "className",
-
"float" : styleFloat,
- cssFloat : styleFloat,
- styleFloat : styleFloat,
-
readonly : "readOnly",
-
maxlength : "maxLength",
-
cellspacing : "cellSpacing",
-
rowspan : "rowSpan"
- }
- });
-
-
- jQuery.each( {
-
parent : function(elem) {
-
return elem.parentNode;
- },
-
parents : function(elem) {
-
return jQuery.dir(elem, "parentNode");
- },
-
next : function(elem) {
-
return jQuery.nth(elem, 2, "nextSibling");
- },
-
prev : function(elem) {
-
return jQuery.nth(elem, 2, "previousSibling");
- },
-
nextAll : function(elem) {
-
return jQuery.dir(elem, "nextSibling");
- },
-
prevAll : function(elem) {
-
return jQuery.dir(elem, "previousSibling");
- },
-
siblings : function(elem) {
-
return jQuery.sibling(elem.parentNode.firstChild, elem);
- },
-
children : function(elem) {
-
return jQuery.sibling(elem.firstChild);
- },
-
contents : function(elem) {
-
return jQuery.nodeName(elem, "iframe") ? elem.contentDocument
- || elem.contentWindow.document : jQuery
- .makeArray(elem.childNodes);
- }
-
}, function(name, fn) {
- jQuery.fn[name] = function(selector) {
-
var ret = jQuery.map(this, fn);
-
if (selector && typeof selector == "string")
-
ret = jQuery.multiFilter(selector, ret);
-
return this.pushStack(jQuery.unique(ret));
- };
- });
-
-
-
-
-
- jQuery.each( {
-
appendTo : "append",
-
prependTo : "prepend",
-
insertBefore : "before",
-
insertAfter : "after",
-
replaceAll : "replaceWith"
- }, function(name, original) {
- jQuery.fn[name] = function() {
-
var args = arguments;
-
-
return this.each(function() {
-
for (var i = 0, length = args.length;i < length; i++)
-
jQuery(args[i])[original](this);
- });
- };
- });
-
-
- jQuery.each( {
-
removeAttr : function(name) {
-
jQuery.attr(this, name, "");
-
if (this.nodeType == 1)
-
this.removeAttribute(name);
- },
-
-
addClass : function(classNames) {
-
jQuery.className.add(this, classNames);
- },
-
-
removeClass : function(classNames) {
-
jQuery.className.remove(this, classNames);
- },
-
-
toggleClass : function(classNames) {
-
jQuery.className[jQuery.className.has(this, classNames)
-
? "remove"
-
: "add"](this, classNames);
- },
-
-
remove : function(selector) {
-
if (!selector || jQuery.filter(selector, [this]).r.length) {
-
-
jQuery("*", this).add([this]).each(function() {
-
jQuery.event.remove(this);
-
jQuery.removeData(this);
- });
-
if (this.parentNode)
-
this.parentNode.removeChild(this);
- }
- },
-
empty : function() {
-
-
jQuery(">*", this).remove();
-
while (this.firstChild)
-
-
this.removeChild(this.firstChild);
- }
- }, function(name, fn) {
- jQuery.fn[name] = function() {
-
return this.each(fn, arguments);
- };
- });
-
-
- jQuery
- .each(
-
["Height", "Width"],
- function(i, name) {
- var type = name.toLowerCase();
-
- jQuery.fn[type] = function(size) {
-
-
return this[0] == window ? (
- jQuery.browser.opera
-
&& document.body["client" + name]
- || jQuery.browser.safari
-
&& window["inner" + name]
-
|| document.compatMode == "CSS1Compat"
-
&& document.documentElement["client"
-
+ name] || document.body["client"
- + name])
-
: this[0] == document ? (
- Math
- .max(
- Math
- .max(
-
document.body["scroll"
- + name],
-
document.documentElement["scroll"
- + name]),
- Math
- .max(
-
document.body["offset"
- + name],
-
document.documentElement["offset"
- + name])))
-
: (size == undefined ? (
-
this.length ? jQuery.css(
-
this[0], type) : null)
-
: (
-
this
- .css(
- type,
- size.constructor == String
- ? size
- : size
-
+ "px")));
- };
- });
-
-
- function num(elem, prop) {
-
return elem[0] && parseInt(jQuery.curCSS(elem[0], prop, true), 10) || 0;
- }
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
其标题是jquery core 源码分析。结果有一网友竟评论说打到标题党,可见还是有很多人像我这样想完全了解jquery的core代码。 从自己能看懂,到自己写出来。发现自己有一个质的提高。但是由于水平有限,分析过程的难免...
主要介绍了jQuery 2.0.3 源码分析之core(一)整体架构,需要的朋友可以参考下
Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 6个目标文件,EJB来...
笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对IT的憧憬、向往!此时此...
此秒杀项目前端使用了Bootstrap、jQuery, 后端主要使用了Spring、SpringMVC、Mybatis, 数据库使用了MySQL, 缓存使用了Redis。同时使用了RESTful的风格,整个项目自底向上开发, 由DAO层到Service层,再到Web层,...
后端:采用C#语言开发,基于ASP.NET框架,结合Entity Framework Core实现数据库操作。 前端:使用HTML、CSS和JavaScript构建用户界面,引入Bootstrap和jQuery等库提升交互体验。 数据库:采用SQL Server存储业务数据...
recsys_ui: 前端技术(html5+JavaScript+jquery+ajax) recsys_web: 后端技术(Java+SpringBoot+mysql) recsys_spider: 网络爬虫(python+BeautifulSoup) recsys_sql: 使用SQL数据处理 recsys_model: pandas, libFM, ...
l JSP、JSTL、jQuery、jQuery plugin、EasyUI、KindEditor(富文本编辑器)、CSS+DIV l Redis(缓存服务器) l Solr(搜索) l httpclient(调用系统服务) l Mysql l Nginx(web服务器) 2.4. 开发...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...
JCarder 是一个用来查找多线程应用程序中一些潜在的死锁,通过对 Java 字节码的动态分析来完成死锁分析。 Java的Flash解析、生成器 jActionScript jActionScript 是一个使用了 JavaSWF2 的 Flash 解析器和生成器。...