guff-compass 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.editorconfig +21 -0
- data/.gitignore +6 -0
- data/LICENSE.txt +22 -0
- data/README.md +21 -0
- data/demo/bower_components/jquery/.bower.json +21 -0
- data/demo/bower_components/jquery/.editorconfig +43 -0
- data/demo/bower_components/jquery/.gitattributes +2 -0
- data/demo/bower_components/jquery/.gitignore +14 -0
- data/demo/bower_components/jquery/.gitmodules +6 -0
- data/demo/bower_components/jquery/.jshintrc +17 -0
- data/demo/bower_components/jquery/.mailmap +94 -0
- data/demo/bower_components/jquery/AUTHORS.txt +170 -0
- data/demo/bower_components/jquery/CONTRIBUTING.md +216 -0
- data/demo/bower_components/jquery/Gruntfile.js +594 -0
- data/demo/bower_components/jquery/MIT-LICENSE.txt +21 -0
- data/demo/bower_components/jquery/README.md +398 -0
- data/demo/bower_components/jquery/bower.json +11 -0
- data/demo/bower_components/jquery/build/release-notes.js +59 -0
- data/demo/bower_components/jquery/build/release.js +316 -0
- data/demo/bower_components/jquery/component.json +15 -0
- data/demo/bower_components/jquery/composer.json +35 -0
- data/demo/bower_components/jquery/jquery-migrate.js +511 -0
- data/demo/bower_components/jquery/jquery-migrate.min.js +3 -0
- data/demo/bower_components/jquery/jquery.js +9789 -0
- data/demo/bower_components/jquery/jquery.min.js +6 -0
- data/demo/bower_components/jquery/jquery.min.map +1 -0
- data/demo/bower_components/jquery/package.json +38 -0
- data/demo/bower_components/jquery/speed/benchmark.js +15 -0
- data/demo/bower_components/jquery/speed/benchmarker.css +65 -0
- data/demo/bower_components/jquery/speed/benchmarker.js +181 -0
- data/demo/bower_components/jquery/speed/closest.html +39 -0
- data/demo/bower_components/jquery/speed/css.html +82 -0
- data/demo/bower_components/jquery/speed/event.html +58 -0
- data/demo/bower_components/jquery/speed/filter.html +183 -0
- data/demo/bower_components/jquery/speed/find.html +179 -0
- data/demo/bower_components/jquery/speed/index.html +72 -0
- data/demo/bower_components/jquery/speed/jquery-basis.js +6238 -0
- data/demo/bower_components/jquery/speed/slice.vs.concat.html +47 -0
- data/demo/bower_components/jquery/src/.jshintrc +27 -0
- data/demo/bower_components/jquery/src/ajax.js +855 -0
- data/demo/bower_components/jquery/src/ajax/jsonp.js +80 -0
- data/demo/bower_components/jquery/src/ajax/script.js +86 -0
- data/demo/bower_components/jquery/src/ajax/xhr.js +207 -0
- data/demo/bower_components/jquery/src/attributes.js +659 -0
- data/demo/bower_components/jquery/src/callbacks.js +197 -0
- data/demo/bower_components/jquery/src/core.js +981 -0
- data/demo/bower_components/jquery/src/css.js +661 -0
- data/demo/bower_components/jquery/src/data.js +336 -0
- data/demo/bower_components/jquery/src/deferred.js +141 -0
- data/demo/bower_components/jquery/src/deprecated.js +11 -0
- data/demo/bower_components/jquery/src/dimensions.js +41 -0
- data/demo/bower_components/jquery/src/effects.js +732 -0
- data/demo/bower_components/jquery/src/event-alias.js +32 -0
- data/demo/bower_components/jquery/src/event.js +995 -0
- data/demo/bower_components/jquery/src/exports.js +21 -0
- data/demo/bower_components/jquery/src/intro.js +20 -0
- data/demo/bower_components/jquery/src/manipulation.js +744 -0
- data/demo/bower_components/jquery/src/offset.js +169 -0
- data/demo/bower_components/jquery/src/outro.js +2 -0
- data/demo/bower_components/jquery/src/queue.js +146 -0
- data/demo/bower_components/jquery/src/serialize.js +99 -0
- data/demo/bower_components/jquery/src/sizzle-jquery.js +7 -0
- data/demo/bower_components/jquery/src/support.js +246 -0
- data/demo/bower_components/jquery/src/traversing.js +283 -0
- data/demo/bower_components/jquery/src/wrap.js +66 -0
- data/demo/bower_components/jquery/test/.jshintignore +3 -0
- data/demo/bower_components/jquery/test/.jshintrc +60 -0
- data/demo/bower_components/jquery/test/data/1x1.jpg +0 -0
- data/demo/bower_components/jquery/test/data/ajax/unreleasedXHR.html +25 -0
- data/demo/bower_components/jquery/test/data/atom+xml.php +4 -0
- data/demo/bower_components/jquery/test/data/badcall.js +1 -0
- data/demo/bower_components/jquery/test/data/badjson.js +1 -0
- data/demo/bower_components/jquery/test/data/cleanScript.html +10 -0
- data/demo/bower_components/jquery/test/data/core/cc_on.html +22 -0
- data/demo/bower_components/jquery/test/data/dashboard.xml +11 -0
- data/demo/bower_components/jquery/test/data/dimensions/documentLarge.html +17 -0
- data/demo/bower_components/jquery/test/data/dimensions/documentSmall.html +21 -0
- data/demo/bower_components/jquery/test/data/echoData.php +1 -0
- data/demo/bower_components/jquery/test/data/echoQuery.php +1 -0
- data/demo/bower_components/jquery/test/data/errorWithJSON.php +6 -0
- data/demo/bower_components/jquery/test/data/errorWithText.php +5 -0
- data/demo/bower_components/jquery/test/data/etag.php +21 -0
- data/demo/bower_components/jquery/test/data/evalScript.php +1 -0
- data/demo/bower_components/jquery/test/data/event/focusElem.html +16 -0
- data/demo/bower_components/jquery/test/data/event/longLoadScript.php +4 -0
- data/demo/bower_components/jquery/test/data/event/promiseReady.html +17 -0
- data/demo/bower_components/jquery/test/data/event/syncReady.html +23 -0
- data/demo/bower_components/jquery/test/data/headers.php +18 -0
- data/demo/bower_components/jquery/test/data/if_modified_since.php +20 -0
- data/demo/bower_components/jquery/test/data/iframe.html +8 -0
- data/demo/bower_components/jquery/test/data/jquery-1.9.1.ajax_xhr.min.js +5 -0
- data/demo/bower_components/jquery/test/data/json.php +13 -0
- data/demo/bower_components/jquery/test/data/json_obj.js +1 -0
- data/demo/bower_components/jquery/test/data/jsonp.php +14 -0
- data/demo/bower_components/jquery/test/data/manipulation/iframe-denied.html +36 -0
- data/demo/bower_components/jquery/test/data/name.html +1 -0
- data/demo/bower_components/jquery/test/data/name.php +24 -0
- data/demo/bower_components/jquery/test/data/nocontent.php +5 -0
- data/demo/bower_components/jquery/test/data/offset/absolute.html +41 -0
- data/demo/bower_components/jquery/test/data/offset/body.html +26 -0
- data/demo/bower_components/jquery/test/data/offset/fixed.html +34 -0
- data/demo/bower_components/jquery/test/data/offset/relative.html +31 -0
- data/demo/bower_components/jquery/test/data/offset/scroll.html +39 -0
- data/demo/bower_components/jquery/test/data/offset/static.html +31 -0
- data/demo/bower_components/jquery/test/data/offset/table.html +43 -0
- data/demo/bower_components/jquery/test/data/params_html.php +12 -0
- data/demo/bower_components/jquery/test/data/readywaitasset.js +1 -0
- data/demo/bower_components/jquery/test/data/readywaitloader.js +25 -0
- data/demo/bower_components/jquery/test/data/script.php +11 -0
- data/demo/bower_components/jquery/test/data/selector/html5_selector.html +114 -0
- data/demo/bower_components/jquery/test/data/selector/sizzle_cache.html +21 -0
- data/demo/bower_components/jquery/test/data/statusText.php +5 -0
- data/demo/bower_components/jquery/test/data/support/bodyBackground.html +28 -0
- data/demo/bower_components/jquery/test/data/support/boxSizing.html +19 -0
- data/demo/bower_components/jquery/test/data/support/csp.js +3 -0
- data/demo/bower_components/jquery/test/data/support/csp.php +22 -0
- data/demo/bower_components/jquery/test/data/support/shrinkWrapBlocks.html +23 -0
- data/demo/bower_components/jquery/test/data/support/testElementCrash.html +17 -0
- data/demo/bower_components/jquery/test/data/test.html +7 -0
- data/demo/bower_components/jquery/test/data/test.js +3 -0
- data/demo/bower_components/jquery/test/data/test.php +7 -0
- data/demo/bower_components/jquery/test/data/test2.html +5 -0
- data/demo/bower_components/jquery/test/data/test3.html +3 -0
- data/demo/bower_components/jquery/test/data/testinit.js +264 -0
- data/demo/bower_components/jquery/test/data/testrunner.js +371 -0
- data/demo/bower_components/jquery/test/data/testsuite.css +155 -0
- data/demo/bower_components/jquery/test/data/text.php +12 -0
- data/demo/bower_components/jquery/test/data/ua.txt +272 -0
- data/demo/bower_components/jquery/test/data/with_fries.xml +25 -0
- data/demo/bower_components/jquery/test/data/with_fries_over_jsonp.php +7 -0
- data/demo/bower_components/jquery/test/delegatetest.html +228 -0
- data/demo/bower_components/jquery/test/hovertest.html +158 -0
- data/demo/bower_components/jquery/test/index.html +337 -0
- data/demo/bower_components/jquery/test/jquery.js +5 -0
- data/demo/bower_components/jquery/test/localfile.html +75 -0
- data/demo/bower_components/jquery/test/networkerror.html +84 -0
- data/demo/bower_components/jquery/test/readywait.html +70 -0
- data/demo/bower_components/jquery/test/unit/ajax.js +2016 -0
- data/demo/bower_components/jquery/test/unit/attributes.js +1388 -0
- data/demo/bower_components/jquery/test/unit/callbacks.js +342 -0
- data/demo/bower_components/jquery/test/unit/core.js +1360 -0
- data/demo/bower_components/jquery/test/unit/css.js +1056 -0
- data/demo/bower_components/jquery/test/unit/data.js +645 -0
- data/demo/bower_components/jquery/test/unit/deferred.js +436 -0
- data/demo/bower_components/jquery/test/unit/deprecated.js +8 -0
- data/demo/bower_components/jquery/test/unit/dimensions.js +472 -0
- data/demo/bower_components/jquery/test/unit/effects.js +2242 -0
- data/demo/bower_components/jquery/test/unit/event.js +2755 -0
- data/demo/bower_components/jquery/test/unit/exports.js +7 -0
- data/demo/bower_components/jquery/test/unit/manipulation.js +2120 -0
- data/demo/bower_components/jquery/test/unit/offset.js +559 -0
- data/demo/bower_components/jquery/test/unit/queue.js +314 -0
- data/demo/bower_components/jquery/test/unit/selector.js +172 -0
- data/demo/bower_components/jquery/test/unit/serialize.js +148 -0
- data/demo/bower_components/jquery/test/unit/support.js +370 -0
- data/demo/bower_components/jquery/test/unit/traversing.js +797 -0
- data/demo/bower_components/jquery/test/unit/wrap.js +265 -0
- data/demo/bower_components/jquery/test/xhtml.php +5 -0
- data/demo/index.html +347 -0
- data/demo/styles/main.css +208 -0
- data/demo/styles/main.scss +138 -0
- data/docs/docco.css +506 -0
- data/docs/guff.html +1127 -0
- data/docs/public/fonts/aller-bold.eot +0 -0
- data/docs/public/fonts/aller-bold.ttf +0 -0
- data/docs/public/fonts/aller-bold.woff +0 -0
- data/docs/public/fonts/aller-light.eot +0 -0
- data/docs/public/fonts/aller-light.ttf +0 -0
- data/docs/public/fonts/aller-light.woff +0 -0
- data/docs/public/fonts/novecento-bold.eot +0 -0
- data/docs/public/fonts/novecento-bold.ttf +0 -0
- data/docs/public/fonts/novecento-bold.woff +0 -0
- data/docs/public/stylesheets/normalize.css +375 -0
- data/guff.gemspec +16 -0
- data/guff.scss +514 -0
- data/gulpfile.js +67 -0
- data/lib/guff.rb +4 -0
- data/lib/stylesheets/_guff.scss +514 -0
- data/package.json +19 -0
- data/src/_functions.scss +57 -0
- data/src/_mixins.scss +301 -0
- data/src/_reset.scss +67 -0
- data/src/_settings.scss +22 -0
- data/src/_typography.scss +67 -0
- metadata +259 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
if ( typeof module === "object" && module && typeof module.exports === "object" ) {
|
|
2
|
+
// Expose jQuery as module.exports in loaders that implement the Node
|
|
3
|
+
// module pattern (including browserify). Do not create the global, since
|
|
4
|
+
// the user will be storing it themselves locally, and globals are frowned
|
|
5
|
+
// upon in the Node module world.
|
|
6
|
+
module.exports = jQuery;
|
|
7
|
+
} else {
|
|
8
|
+
// Otherwise expose jQuery to the global object as usual
|
|
9
|
+
window.jQuery = window.$ = jQuery;
|
|
10
|
+
|
|
11
|
+
// Register as a named AMD module, since jQuery can be concatenated with other
|
|
12
|
+
// files that may use define, but not via a proper concatenation script that
|
|
13
|
+
// understands anonymous AMD modules. A named AMD is safest and most robust
|
|
14
|
+
// way to register. Lowercase jquery is used because AMD module names are
|
|
15
|
+
// derived from file names, and jQuery is normally delivered in a lowercase
|
|
16
|
+
// file name. Do this after creating the global so that if an AMD module wants
|
|
17
|
+
// to call noConflict to hide this version of jQuery, it will work.
|
|
18
|
+
if ( typeof define === "function" && define.amd ) {
|
|
19
|
+
define( "jquery", [], function () { return jQuery; } );
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* jQuery JavaScript Library v@VERSION
|
|
3
|
+
* http://jquery.com/
|
|
4
|
+
*
|
|
5
|
+
* Includes Sizzle.js
|
|
6
|
+
* http://sizzlejs.com/
|
|
7
|
+
*
|
|
8
|
+
* Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors
|
|
9
|
+
* Released under the MIT license
|
|
10
|
+
* http://jquery.org/license
|
|
11
|
+
*
|
|
12
|
+
* Date: @DATE
|
|
13
|
+
*/
|
|
14
|
+
(function( window, undefined ) {
|
|
15
|
+
|
|
16
|
+
// Can't do this because several apps including ASP.NET trace
|
|
17
|
+
// the stack via arguments.caller.callee and Firefox dies if
|
|
18
|
+
// you try to trace through "use strict" call chains. (#13335)
|
|
19
|
+
// Support: Firefox 18+
|
|
20
|
+
//"use strict";
|
|
@@ -0,0 +1,744 @@
|
|
|
1
|
+
function createSafeFragment( document ) {
|
|
2
|
+
var list = nodeNames.split( "|" ),
|
|
3
|
+
safeFrag = document.createDocumentFragment();
|
|
4
|
+
|
|
5
|
+
if ( safeFrag.createElement ) {
|
|
6
|
+
while ( list.length ) {
|
|
7
|
+
safeFrag.createElement(
|
|
8
|
+
list.pop()
|
|
9
|
+
);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
return safeFrag;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" +
|
|
16
|
+
"header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",
|
|
17
|
+
rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g,
|
|
18
|
+
rnoshimcache = new RegExp("<(?:" + nodeNames + ")[\\s/>]", "i"),
|
|
19
|
+
rleadingWhitespace = /^\s+/,
|
|
20
|
+
rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,
|
|
21
|
+
rtagName = /<([\w:]+)/,
|
|
22
|
+
rtbody = /<tbody/i,
|
|
23
|
+
rhtml = /<|&#?\w+;/,
|
|
24
|
+
rnoInnerhtml = /<(?:script|style|link)/i,
|
|
25
|
+
manipulation_rcheckableType = /^(?:checkbox|radio)$/i,
|
|
26
|
+
// checked="checked" or checked
|
|
27
|
+
rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i,
|
|
28
|
+
rscriptType = /^$|\/(?:java|ecma)script/i,
|
|
29
|
+
rscriptTypeMasked = /^true\/(.*)/,
|
|
30
|
+
rcleanScript = /^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,
|
|
31
|
+
|
|
32
|
+
// We have to close these tags to support XHTML (#13200)
|
|
33
|
+
wrapMap = {
|
|
34
|
+
option: [ 1, "<select multiple='multiple'>", "</select>" ],
|
|
35
|
+
legend: [ 1, "<fieldset>", "</fieldset>" ],
|
|
36
|
+
area: [ 1, "<map>", "</map>" ],
|
|
37
|
+
param: [ 1, "<object>", "</object>" ],
|
|
38
|
+
thead: [ 1, "<table>", "</table>" ],
|
|
39
|
+
tr: [ 2, "<table><tbody>", "</tbody></table>" ],
|
|
40
|
+
col: [ 2, "<table><tbody></tbody><colgroup>", "</colgroup></table>" ],
|
|
41
|
+
td: [ 3, "<table><tbody><tr>", "</tr></tbody></table>" ],
|
|
42
|
+
|
|
43
|
+
// IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags,
|
|
44
|
+
// unless wrapped in a div with non-breaking characters in front of it.
|
|
45
|
+
_default: jQuery.support.htmlSerialize ? [ 0, "", "" ] : [ 1, "X<div>", "</div>" ]
|
|
46
|
+
},
|
|
47
|
+
safeFragment = createSafeFragment( document ),
|
|
48
|
+
fragmentDiv = safeFragment.appendChild( document.createElement("div") );
|
|
49
|
+
|
|
50
|
+
wrapMap.optgroup = wrapMap.option;
|
|
51
|
+
wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead;
|
|
52
|
+
wrapMap.th = wrapMap.td;
|
|
53
|
+
|
|
54
|
+
jQuery.fn.extend({
|
|
55
|
+
text: function( value ) {
|
|
56
|
+
return jQuery.access( this, function( value ) {
|
|
57
|
+
return value === undefined ?
|
|
58
|
+
jQuery.text( this ) :
|
|
59
|
+
this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) );
|
|
60
|
+
}, null, value, arguments.length );
|
|
61
|
+
},
|
|
62
|
+
|
|
63
|
+
append: function() {
|
|
64
|
+
return this.domManip( arguments, function( elem ) {
|
|
65
|
+
if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
|
|
66
|
+
var target = manipulationTarget( this, elem );
|
|
67
|
+
target.appendChild( elem );
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
},
|
|
71
|
+
|
|
72
|
+
prepend: function() {
|
|
73
|
+
return this.domManip( arguments, function( elem ) {
|
|
74
|
+
if ( this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9 ) {
|
|
75
|
+
var target = manipulationTarget( this, elem );
|
|
76
|
+
target.insertBefore( elem, target.firstChild );
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
},
|
|
80
|
+
|
|
81
|
+
before: function() {
|
|
82
|
+
return this.domManip( arguments, function( elem ) {
|
|
83
|
+
if ( this.parentNode ) {
|
|
84
|
+
this.parentNode.insertBefore( elem, this );
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
},
|
|
88
|
+
|
|
89
|
+
after: function() {
|
|
90
|
+
return this.domManip( arguments, function( elem ) {
|
|
91
|
+
if ( this.parentNode ) {
|
|
92
|
+
this.parentNode.insertBefore( elem, this.nextSibling );
|
|
93
|
+
}
|
|
94
|
+
});
|
|
95
|
+
},
|
|
96
|
+
|
|
97
|
+
// keepData is for internal use only--do not document
|
|
98
|
+
remove: function( selector, keepData ) {
|
|
99
|
+
var elem,
|
|
100
|
+
elems = selector ? jQuery.filter( selector, this ) : this,
|
|
101
|
+
i = 0;
|
|
102
|
+
|
|
103
|
+
for ( ; (elem = elems[i]) != null; i++ ) {
|
|
104
|
+
|
|
105
|
+
if ( !keepData && elem.nodeType === 1 ) {
|
|
106
|
+
jQuery.cleanData( getAll( elem ) );
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
if ( elem.parentNode ) {
|
|
110
|
+
if ( keepData && jQuery.contains( elem.ownerDocument, elem ) ) {
|
|
111
|
+
setGlobalEval( getAll( elem, "script" ) );
|
|
112
|
+
}
|
|
113
|
+
elem.parentNode.removeChild( elem );
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
return this;
|
|
118
|
+
},
|
|
119
|
+
|
|
120
|
+
empty: function() {
|
|
121
|
+
var elem,
|
|
122
|
+
i = 0;
|
|
123
|
+
|
|
124
|
+
for ( ; (elem = this[i]) != null; i++ ) {
|
|
125
|
+
// Remove element nodes and prevent memory leaks
|
|
126
|
+
if ( elem.nodeType === 1 ) {
|
|
127
|
+
jQuery.cleanData( getAll( elem, false ) );
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// Remove any remaining nodes
|
|
131
|
+
while ( elem.firstChild ) {
|
|
132
|
+
elem.removeChild( elem.firstChild );
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
// If this is a select, ensure that it displays empty (#12336)
|
|
136
|
+
// Support: IE<9
|
|
137
|
+
if ( elem.options && jQuery.nodeName( elem, "select" ) ) {
|
|
138
|
+
elem.options.length = 0;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
return this;
|
|
143
|
+
},
|
|
144
|
+
|
|
145
|
+
clone: function( dataAndEvents, deepDataAndEvents ) {
|
|
146
|
+
dataAndEvents = dataAndEvents == null ? false : dataAndEvents;
|
|
147
|
+
deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents;
|
|
148
|
+
|
|
149
|
+
return this.map( function () {
|
|
150
|
+
return jQuery.clone( this, dataAndEvents, deepDataAndEvents );
|
|
151
|
+
});
|
|
152
|
+
},
|
|
153
|
+
|
|
154
|
+
html: function( value ) {
|
|
155
|
+
return jQuery.access( this, function( value ) {
|
|
156
|
+
var elem = this[0] || {},
|
|
157
|
+
i = 0,
|
|
158
|
+
l = this.length;
|
|
159
|
+
|
|
160
|
+
if ( value === undefined ) {
|
|
161
|
+
return elem.nodeType === 1 ?
|
|
162
|
+
elem.innerHTML.replace( rinlinejQuery, "" ) :
|
|
163
|
+
undefined;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
// See if we can take a shortcut and just use innerHTML
|
|
167
|
+
if ( typeof value === "string" && !rnoInnerhtml.test( value ) &&
|
|
168
|
+
( jQuery.support.htmlSerialize || !rnoshimcache.test( value ) ) &&
|
|
169
|
+
( jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value ) ) &&
|
|
170
|
+
!wrapMap[ ( rtagName.exec( value ) || ["", ""] )[1].toLowerCase() ] ) {
|
|
171
|
+
|
|
172
|
+
value = value.replace( rxhtmlTag, "<$1></$2>" );
|
|
173
|
+
|
|
174
|
+
try {
|
|
175
|
+
for (; i < l; i++ ) {
|
|
176
|
+
// Remove element nodes and prevent memory leaks
|
|
177
|
+
elem = this[i] || {};
|
|
178
|
+
if ( elem.nodeType === 1 ) {
|
|
179
|
+
jQuery.cleanData( getAll( elem, false ) );
|
|
180
|
+
elem.innerHTML = value;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
elem = 0;
|
|
185
|
+
|
|
186
|
+
// If using innerHTML throws an exception, use the fallback method
|
|
187
|
+
} catch(e) {}
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
if ( elem ) {
|
|
191
|
+
this.empty().append( value );
|
|
192
|
+
}
|
|
193
|
+
}, null, value, arguments.length );
|
|
194
|
+
},
|
|
195
|
+
|
|
196
|
+
replaceWith: function() {
|
|
197
|
+
var
|
|
198
|
+
// Snapshot the DOM in case .domManip sweeps something relevant into its fragment
|
|
199
|
+
args = jQuery.map( this, function( elem ) {
|
|
200
|
+
return [ elem.nextSibling, elem.parentNode ];
|
|
201
|
+
}),
|
|
202
|
+
i = 0;
|
|
203
|
+
|
|
204
|
+
// Make the changes, replacing each context element with the new content
|
|
205
|
+
this.domManip( arguments, function( elem ) {
|
|
206
|
+
var next = args[ i++ ],
|
|
207
|
+
parent = args[ i++ ];
|
|
208
|
+
|
|
209
|
+
if ( parent ) {
|
|
210
|
+
// Don't use the snapshot next if it has moved (#13810)
|
|
211
|
+
if ( next && next.parentNode !== parent ) {
|
|
212
|
+
next = this.nextSibling;
|
|
213
|
+
}
|
|
214
|
+
jQuery( this ).remove();
|
|
215
|
+
parent.insertBefore( elem, next );
|
|
216
|
+
}
|
|
217
|
+
// Allow new content to include elements from the context set
|
|
218
|
+
}, true );
|
|
219
|
+
|
|
220
|
+
// Force removal if there was no new content (e.g., from empty arguments)
|
|
221
|
+
return i ? this : this.remove();
|
|
222
|
+
},
|
|
223
|
+
|
|
224
|
+
detach: function( selector ) {
|
|
225
|
+
return this.remove( selector, true );
|
|
226
|
+
},
|
|
227
|
+
|
|
228
|
+
domManip: function( args, callback, allowIntersection ) {
|
|
229
|
+
|
|
230
|
+
// Flatten any nested arrays
|
|
231
|
+
args = core_concat.apply( [], args );
|
|
232
|
+
|
|
233
|
+
var first, node, hasScripts,
|
|
234
|
+
scripts, doc, fragment,
|
|
235
|
+
i = 0,
|
|
236
|
+
l = this.length,
|
|
237
|
+
set = this,
|
|
238
|
+
iNoClone = l - 1,
|
|
239
|
+
value = args[0],
|
|
240
|
+
isFunction = jQuery.isFunction( value );
|
|
241
|
+
|
|
242
|
+
// We can't cloneNode fragments that contain checked, in WebKit
|
|
243
|
+
if ( isFunction || !( l <= 1 || typeof value !== "string" || jQuery.support.checkClone || !rchecked.test( value ) ) ) {
|
|
244
|
+
return this.each(function( index ) {
|
|
245
|
+
var self = set.eq( index );
|
|
246
|
+
if ( isFunction ) {
|
|
247
|
+
args[0] = value.call( this, index, self.html() );
|
|
248
|
+
}
|
|
249
|
+
self.domManip( args, callback, allowIntersection );
|
|
250
|
+
});
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
if ( l ) {
|
|
254
|
+
fragment = jQuery.buildFragment( args, this[ 0 ].ownerDocument, false, !allowIntersection && this );
|
|
255
|
+
first = fragment.firstChild;
|
|
256
|
+
|
|
257
|
+
if ( fragment.childNodes.length === 1 ) {
|
|
258
|
+
fragment = first;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
if ( first ) {
|
|
262
|
+
scripts = jQuery.map( getAll( fragment, "script" ), disableScript );
|
|
263
|
+
hasScripts = scripts.length;
|
|
264
|
+
|
|
265
|
+
// Use the original fragment for the last item instead of the first because it can end up
|
|
266
|
+
// being emptied incorrectly in certain situations (#8070).
|
|
267
|
+
for ( ; i < l; i++ ) {
|
|
268
|
+
node = fragment;
|
|
269
|
+
|
|
270
|
+
if ( i !== iNoClone ) {
|
|
271
|
+
node = jQuery.clone( node, true, true );
|
|
272
|
+
|
|
273
|
+
// Keep references to cloned scripts for later restoration
|
|
274
|
+
if ( hasScripts ) {
|
|
275
|
+
jQuery.merge( scripts, getAll( node, "script" ) );
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
callback.call( this[i], node, i );
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
if ( hasScripts ) {
|
|
283
|
+
doc = scripts[ scripts.length - 1 ].ownerDocument;
|
|
284
|
+
|
|
285
|
+
// Reenable scripts
|
|
286
|
+
jQuery.map( scripts, restoreScript );
|
|
287
|
+
|
|
288
|
+
// Evaluate executable scripts on first document insertion
|
|
289
|
+
for ( i = 0; i < hasScripts; i++ ) {
|
|
290
|
+
node = scripts[ i ];
|
|
291
|
+
if ( rscriptType.test( node.type || "" ) &&
|
|
292
|
+
!jQuery._data( node, "globalEval" ) && jQuery.contains( doc, node ) ) {
|
|
293
|
+
|
|
294
|
+
if ( node.src ) {
|
|
295
|
+
// Hope ajax is available...
|
|
296
|
+
jQuery._evalUrl( node.src );
|
|
297
|
+
} else {
|
|
298
|
+
jQuery.globalEval( ( node.text || node.textContent || node.innerHTML || "" ).replace( rcleanScript, "" ) );
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
// Fix #11809: Avoid leaking memory
|
|
305
|
+
fragment = first = null;
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
return this;
|
|
310
|
+
}
|
|
311
|
+
});
|
|
312
|
+
|
|
313
|
+
// Support: IE<8
|
|
314
|
+
// Manipulating tables requires a tbody
|
|
315
|
+
function manipulationTarget( elem, content ) {
|
|
316
|
+
return jQuery.nodeName( elem, "table" ) &&
|
|
317
|
+
jQuery.nodeName( content.nodeType === 1 ? content : content.firstChild, "tr" ) ?
|
|
318
|
+
|
|
319
|
+
elem.getElementsByTagName("tbody")[0] ||
|
|
320
|
+
elem.appendChild( elem.ownerDocument.createElement("tbody") ) :
|
|
321
|
+
elem;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
// Replace/restore the type attribute of script elements for safe DOM manipulation
|
|
325
|
+
function disableScript( elem ) {
|
|
326
|
+
elem.type = (jQuery.find.attr( elem, "type" ) !== null) + "/" + elem.type;
|
|
327
|
+
return elem;
|
|
328
|
+
}
|
|
329
|
+
function restoreScript( elem ) {
|
|
330
|
+
var match = rscriptTypeMasked.exec( elem.type );
|
|
331
|
+
if ( match ) {
|
|
332
|
+
elem.type = match[1];
|
|
333
|
+
} else {
|
|
334
|
+
elem.removeAttribute("type");
|
|
335
|
+
}
|
|
336
|
+
return elem;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
// Mark scripts as having already been evaluated
|
|
340
|
+
function setGlobalEval( elems, refElements ) {
|
|
341
|
+
var elem,
|
|
342
|
+
i = 0;
|
|
343
|
+
for ( ; (elem = elems[i]) != null; i++ ) {
|
|
344
|
+
jQuery._data( elem, "globalEval", !refElements || jQuery._data( refElements[i], "globalEval" ) );
|
|
345
|
+
}
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
function cloneCopyEvent( src, dest ) {
|
|
349
|
+
|
|
350
|
+
if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) {
|
|
351
|
+
return;
|
|
352
|
+
}
|
|
353
|
+
|
|
354
|
+
var type, i, l,
|
|
355
|
+
oldData = jQuery._data( src ),
|
|
356
|
+
curData = jQuery._data( dest, oldData ),
|
|
357
|
+
events = oldData.events;
|
|
358
|
+
|
|
359
|
+
if ( events ) {
|
|
360
|
+
delete curData.handle;
|
|
361
|
+
curData.events = {};
|
|
362
|
+
|
|
363
|
+
for ( type in events ) {
|
|
364
|
+
for ( i = 0, l = events[ type ].length; i < l; i++ ) {
|
|
365
|
+
jQuery.event.add( dest, type, events[ type ][ i ] );
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
// make the cloned public data object a copy from the original
|
|
371
|
+
if ( curData.data ) {
|
|
372
|
+
curData.data = jQuery.extend( {}, curData.data );
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
function fixCloneNodeIssues( src, dest ) {
|
|
377
|
+
var nodeName, e, data;
|
|
378
|
+
|
|
379
|
+
// We do not need to do anything for non-Elements
|
|
380
|
+
if ( dest.nodeType !== 1 ) {
|
|
381
|
+
return;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
nodeName = dest.nodeName.toLowerCase();
|
|
385
|
+
|
|
386
|
+
// IE6-8 copies events bound via attachEvent when using cloneNode.
|
|
387
|
+
if ( !jQuery.support.noCloneEvent && dest[ jQuery.expando ] ) {
|
|
388
|
+
data = jQuery._data( dest );
|
|
389
|
+
|
|
390
|
+
for ( e in data.events ) {
|
|
391
|
+
jQuery.removeEvent( dest, e, data.handle );
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
// Event data gets referenced instead of copied if the expando gets copied too
|
|
395
|
+
dest.removeAttribute( jQuery.expando );
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
// IE blanks contents when cloning scripts, and tries to evaluate newly-set text
|
|
399
|
+
if ( nodeName === "script" && dest.text !== src.text ) {
|
|
400
|
+
disableScript( dest ).text = src.text;
|
|
401
|
+
restoreScript( dest );
|
|
402
|
+
|
|
403
|
+
// IE6-10 improperly clones children of object elements using classid.
|
|
404
|
+
// IE10 throws NoModificationAllowedError if parent is null, #12132.
|
|
405
|
+
} else if ( nodeName === "object" ) {
|
|
406
|
+
if ( dest.parentNode ) {
|
|
407
|
+
dest.outerHTML = src.outerHTML;
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
// This path appears unavoidable for IE9. When cloning an object
|
|
411
|
+
// element in IE9, the outerHTML strategy above is not sufficient.
|
|
412
|
+
// If the src has innerHTML and the destination does not,
|
|
413
|
+
// copy the src.innerHTML into the dest.innerHTML. #10324
|
|
414
|
+
if ( jQuery.support.html5Clone && ( src.innerHTML && !jQuery.trim(dest.innerHTML) ) ) {
|
|
415
|
+
dest.innerHTML = src.innerHTML;
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
} else if ( nodeName === "input" && manipulation_rcheckableType.test( src.type ) ) {
|
|
419
|
+
// IE6-8 fails to persist the checked state of a cloned checkbox
|
|
420
|
+
// or radio button. Worse, IE6-7 fail to give the cloned element
|
|
421
|
+
// a checked appearance if the defaultChecked value isn't also set
|
|
422
|
+
|
|
423
|
+
dest.defaultChecked = dest.checked = src.checked;
|
|
424
|
+
|
|
425
|
+
// IE6-7 get confused and end up setting the value of a cloned
|
|
426
|
+
// checkbox/radio button to an empty string instead of "on"
|
|
427
|
+
if ( dest.value !== src.value ) {
|
|
428
|
+
dest.value = src.value;
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
// IE6-8 fails to return the selected option to the default selected
|
|
432
|
+
// state when cloning options
|
|
433
|
+
} else if ( nodeName === "option" ) {
|
|
434
|
+
dest.defaultSelected = dest.selected = src.defaultSelected;
|
|
435
|
+
|
|
436
|
+
// IE6-8 fails to set the defaultValue to the correct value when
|
|
437
|
+
// cloning other types of input fields
|
|
438
|
+
} else if ( nodeName === "input" || nodeName === "textarea" ) {
|
|
439
|
+
dest.defaultValue = src.defaultValue;
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
jQuery.each({
|
|
444
|
+
appendTo: "append",
|
|
445
|
+
prependTo: "prepend",
|
|
446
|
+
insertBefore: "before",
|
|
447
|
+
insertAfter: "after",
|
|
448
|
+
replaceAll: "replaceWith"
|
|
449
|
+
}, function( name, original ) {
|
|
450
|
+
jQuery.fn[ name ] = function( selector ) {
|
|
451
|
+
var elems,
|
|
452
|
+
i = 0,
|
|
453
|
+
ret = [],
|
|
454
|
+
insert = jQuery( selector ),
|
|
455
|
+
last = insert.length - 1;
|
|
456
|
+
|
|
457
|
+
for ( ; i <= last; i++ ) {
|
|
458
|
+
elems = i === last ? this : this.clone(true);
|
|
459
|
+
jQuery( insert[i] )[ original ]( elems );
|
|
460
|
+
|
|
461
|
+
// Modern browsers can apply jQuery collections as arrays, but oldIE needs a .get()
|
|
462
|
+
core_push.apply( ret, elems.get() );
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
return this.pushStack( ret );
|
|
466
|
+
};
|
|
467
|
+
});
|
|
468
|
+
|
|
469
|
+
function getAll( context, tag ) {
|
|
470
|
+
var elems, elem,
|
|
471
|
+
i = 0,
|
|
472
|
+
found = typeof context.getElementsByTagName !== core_strundefined ? context.getElementsByTagName( tag || "*" ) :
|
|
473
|
+
typeof context.querySelectorAll !== core_strundefined ? context.querySelectorAll( tag || "*" ) :
|
|
474
|
+
undefined;
|
|
475
|
+
|
|
476
|
+
if ( !found ) {
|
|
477
|
+
for ( found = [], elems = context.childNodes || context; (elem = elems[i]) != null; i++ ) {
|
|
478
|
+
if ( !tag || jQuery.nodeName( elem, tag ) ) {
|
|
479
|
+
found.push( elem );
|
|
480
|
+
} else {
|
|
481
|
+
jQuery.merge( found, getAll( elem, tag ) );
|
|
482
|
+
}
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
return tag === undefined || tag && jQuery.nodeName( context, tag ) ?
|
|
487
|
+
jQuery.merge( [ context ], found ) :
|
|
488
|
+
found;
|
|
489
|
+
}
|
|
490
|
+
|
|
491
|
+
// Used in buildFragment, fixes the defaultChecked property
|
|
492
|
+
function fixDefaultChecked( elem ) {
|
|
493
|
+
if ( manipulation_rcheckableType.test( elem.type ) ) {
|
|
494
|
+
elem.defaultChecked = elem.checked;
|
|
495
|
+
}
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
jQuery.extend({
|
|
499
|
+
clone: function( elem, dataAndEvents, deepDataAndEvents ) {
|
|
500
|
+
var destElements, node, clone, i, srcElements,
|
|
501
|
+
inPage = jQuery.contains( elem.ownerDocument, elem );
|
|
502
|
+
|
|
503
|
+
if ( jQuery.support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) {
|
|
504
|
+
clone = elem.cloneNode( true );
|
|
505
|
+
|
|
506
|
+
// IE<=8 does not properly clone detached, unknown element nodes
|
|
507
|
+
} else {
|
|
508
|
+
fragmentDiv.innerHTML = elem.outerHTML;
|
|
509
|
+
fragmentDiv.removeChild( clone = fragmentDiv.firstChild );
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) &&
|
|
513
|
+
(elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) {
|
|
514
|
+
|
|
515
|
+
// We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2
|
|
516
|
+
destElements = getAll( clone );
|
|
517
|
+
srcElements = getAll( elem );
|
|
518
|
+
|
|
519
|
+
// Fix all IE cloning issues
|
|
520
|
+
for ( i = 0; (node = srcElements[i]) != null; ++i ) {
|
|
521
|
+
// Ensure that the destination node is not null; Fixes #9587
|
|
522
|
+
if ( destElements[i] ) {
|
|
523
|
+
fixCloneNodeIssues( node, destElements[i] );
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
// Copy the events from the original to the clone
|
|
529
|
+
if ( dataAndEvents ) {
|
|
530
|
+
if ( deepDataAndEvents ) {
|
|
531
|
+
srcElements = srcElements || getAll( elem );
|
|
532
|
+
destElements = destElements || getAll( clone );
|
|
533
|
+
|
|
534
|
+
for ( i = 0; (node = srcElements[i]) != null; i++ ) {
|
|
535
|
+
cloneCopyEvent( node, destElements[i] );
|
|
536
|
+
}
|
|
537
|
+
} else {
|
|
538
|
+
cloneCopyEvent( elem, clone );
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
|
|
542
|
+
// Preserve script evaluation history
|
|
543
|
+
destElements = getAll( clone, "script" );
|
|
544
|
+
if ( destElements.length > 0 ) {
|
|
545
|
+
setGlobalEval( destElements, !inPage && getAll( elem, "script" ) );
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
destElements = srcElements = node = null;
|
|
549
|
+
|
|
550
|
+
// Return the cloned set
|
|
551
|
+
return clone;
|
|
552
|
+
},
|
|
553
|
+
|
|
554
|
+
buildFragment: function( elems, context, scripts, selection ) {
|
|
555
|
+
var j, elem, contains,
|
|
556
|
+
tmp, tag, tbody, wrap,
|
|
557
|
+
l = elems.length,
|
|
558
|
+
|
|
559
|
+
// Ensure a safe fragment
|
|
560
|
+
safe = createSafeFragment( context ),
|
|
561
|
+
|
|
562
|
+
nodes = [],
|
|
563
|
+
i = 0;
|
|
564
|
+
|
|
565
|
+
for ( ; i < l; i++ ) {
|
|
566
|
+
elem = elems[ i ];
|
|
567
|
+
|
|
568
|
+
if ( elem || elem === 0 ) {
|
|
569
|
+
|
|
570
|
+
// Add nodes directly
|
|
571
|
+
if ( jQuery.type( elem ) === "object" ) {
|
|
572
|
+
jQuery.merge( nodes, elem.nodeType ? [ elem ] : elem );
|
|
573
|
+
|
|
574
|
+
// Convert non-html into a text node
|
|
575
|
+
} else if ( !rhtml.test( elem ) ) {
|
|
576
|
+
nodes.push( context.createTextNode( elem ) );
|
|
577
|
+
|
|
578
|
+
// Convert html into DOM nodes
|
|
579
|
+
} else {
|
|
580
|
+
tmp = tmp || safe.appendChild( context.createElement("div") );
|
|
581
|
+
|
|
582
|
+
// Deserialize a standard representation
|
|
583
|
+
tag = ( rtagName.exec( elem ) || ["", ""] )[1].toLowerCase();
|
|
584
|
+
wrap = wrapMap[ tag ] || wrapMap._default;
|
|
585
|
+
|
|
586
|
+
tmp.innerHTML = wrap[1] + elem.replace( rxhtmlTag, "<$1></$2>" ) + wrap[2];
|
|
587
|
+
|
|
588
|
+
// Descend through wrappers to the right content
|
|
589
|
+
j = wrap[0];
|
|
590
|
+
while ( j-- ) {
|
|
591
|
+
tmp = tmp.lastChild;
|
|
592
|
+
}
|
|
593
|
+
|
|
594
|
+
// Manually add leading whitespace removed by IE
|
|
595
|
+
if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) {
|
|
596
|
+
nodes.push( context.createTextNode( rleadingWhitespace.exec( elem )[0] ) );
|
|
597
|
+
}
|
|
598
|
+
|
|
599
|
+
// Remove IE's autoinserted <tbody> from table fragments
|
|
600
|
+
if ( !jQuery.support.tbody ) {
|
|
601
|
+
|
|
602
|
+
// String was a <table>, *may* have spurious <tbody>
|
|
603
|
+
elem = tag === "table" && !rtbody.test( elem ) ?
|
|
604
|
+
tmp.firstChild :
|
|
605
|
+
|
|
606
|
+
// String was a bare <thead> or <tfoot>
|
|
607
|
+
wrap[1] === "<table>" && !rtbody.test( elem ) ?
|
|
608
|
+
tmp :
|
|
609
|
+
0;
|
|
610
|
+
|
|
611
|
+
j = elem && elem.childNodes.length;
|
|
612
|
+
while ( j-- ) {
|
|
613
|
+
if ( jQuery.nodeName( (tbody = elem.childNodes[j]), "tbody" ) && !tbody.childNodes.length ) {
|
|
614
|
+
elem.removeChild( tbody );
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
|
|
619
|
+
jQuery.merge( nodes, tmp.childNodes );
|
|
620
|
+
|
|
621
|
+
// Fix #12392 for WebKit and IE > 9
|
|
622
|
+
tmp.textContent = "";
|
|
623
|
+
|
|
624
|
+
// Fix #12392 for oldIE
|
|
625
|
+
while ( tmp.firstChild ) {
|
|
626
|
+
tmp.removeChild( tmp.firstChild );
|
|
627
|
+
}
|
|
628
|
+
|
|
629
|
+
// Remember the top-level container for proper cleanup
|
|
630
|
+
tmp = safe.lastChild;
|
|
631
|
+
}
|
|
632
|
+
}
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
// Fix #11356: Clear elements from fragment
|
|
636
|
+
if ( tmp ) {
|
|
637
|
+
safe.removeChild( tmp );
|
|
638
|
+
}
|
|
639
|
+
|
|
640
|
+
// Reset defaultChecked for any radios and checkboxes
|
|
641
|
+
// about to be appended to the DOM in IE 6/7 (#8060)
|
|
642
|
+
if ( !jQuery.support.appendChecked ) {
|
|
643
|
+
jQuery.grep( getAll( nodes, "input" ), fixDefaultChecked );
|
|
644
|
+
}
|
|
645
|
+
|
|
646
|
+
i = 0;
|
|
647
|
+
while ( (elem = nodes[ i++ ]) ) {
|
|
648
|
+
|
|
649
|
+
// #4087 - If origin and destination elements are the same, and this is
|
|
650
|
+
// that element, do not do anything
|
|
651
|
+
if ( selection && jQuery.inArray( elem, selection ) !== -1 ) {
|
|
652
|
+
continue;
|
|
653
|
+
}
|
|
654
|
+
|
|
655
|
+
contains = jQuery.contains( elem.ownerDocument, elem );
|
|
656
|
+
|
|
657
|
+
// Append to fragment
|
|
658
|
+
tmp = getAll( safe.appendChild( elem ), "script" );
|
|
659
|
+
|
|
660
|
+
// Preserve script evaluation history
|
|
661
|
+
if ( contains ) {
|
|
662
|
+
setGlobalEval( tmp );
|
|
663
|
+
}
|
|
664
|
+
|
|
665
|
+
// Capture executables
|
|
666
|
+
if ( scripts ) {
|
|
667
|
+
j = 0;
|
|
668
|
+
while ( (elem = tmp[ j++ ]) ) {
|
|
669
|
+
if ( rscriptType.test( elem.type || "" ) ) {
|
|
670
|
+
scripts.push( elem );
|
|
671
|
+
}
|
|
672
|
+
}
|
|
673
|
+
}
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
tmp = null;
|
|
677
|
+
|
|
678
|
+
return safe;
|
|
679
|
+
},
|
|
680
|
+
|
|
681
|
+
cleanData: function( elems, /* internal */ acceptData ) {
|
|
682
|
+
var elem, type, id, data,
|
|
683
|
+
i = 0,
|
|
684
|
+
internalKey = jQuery.expando,
|
|
685
|
+
cache = jQuery.cache,
|
|
686
|
+
deleteExpando = jQuery.support.deleteExpando,
|
|
687
|
+
special = jQuery.event.special;
|
|
688
|
+
|
|
689
|
+
for ( ; (elem = elems[i]) != null; i++ ) {
|
|
690
|
+
|
|
691
|
+
if ( acceptData || jQuery.acceptData( elem ) ) {
|
|
692
|
+
|
|
693
|
+
id = elem[ internalKey ];
|
|
694
|
+
data = id && cache[ id ];
|
|
695
|
+
|
|
696
|
+
if ( data ) {
|
|
697
|
+
if ( data.events ) {
|
|
698
|
+
for ( type in data.events ) {
|
|
699
|
+
if ( special[ type ] ) {
|
|
700
|
+
jQuery.event.remove( elem, type );
|
|
701
|
+
|
|
702
|
+
// This is a shortcut to avoid jQuery.event.remove's overhead
|
|
703
|
+
} else {
|
|
704
|
+
jQuery.removeEvent( elem, type, data.handle );
|
|
705
|
+
}
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
|
|
709
|
+
// Remove cache only if it was not already removed by jQuery.event.remove
|
|
710
|
+
if ( cache[ id ] ) {
|
|
711
|
+
|
|
712
|
+
delete cache[ id ];
|
|
713
|
+
|
|
714
|
+
// IE does not allow us to delete expando properties from nodes,
|
|
715
|
+
// nor does it have a removeAttribute function on Document nodes;
|
|
716
|
+
// we must handle all of these cases
|
|
717
|
+
if ( deleteExpando ) {
|
|
718
|
+
delete elem[ internalKey ];
|
|
719
|
+
|
|
720
|
+
} else if ( typeof elem.removeAttribute !== core_strundefined ) {
|
|
721
|
+
elem.removeAttribute( internalKey );
|
|
722
|
+
|
|
723
|
+
} else {
|
|
724
|
+
elem[ internalKey ] = null;
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
core_deletedIds.push( id );
|
|
728
|
+
}
|
|
729
|
+
}
|
|
730
|
+
}
|
|
731
|
+
}
|
|
732
|
+
},
|
|
733
|
+
|
|
734
|
+
_evalUrl: function( url ) {
|
|
735
|
+
return jQuery.ajax({
|
|
736
|
+
url: url,
|
|
737
|
+
type: "GET",
|
|
738
|
+
dataType: "script",
|
|
739
|
+
async: false,
|
|
740
|
+
global: false,
|
|
741
|
+
"throws": true
|
|
742
|
+
});
|
|
743
|
+
}
|
|
744
|
+
});
|