corrade-nucleus-nucleons – Blame information for rev 20
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
20 | office | 1 | define([ |
2 | "../core", |
||
3 | "../var/rnotwhite", |
||
4 | "../var/strundefined", |
||
5 | "../core/access", |
||
6 | "./support", |
||
7 | "../selector" |
||
8 | ], function( jQuery, rnotwhite, strundefined, access, support ) { |
||
9 | |||
10 | var nodeHook, boolHook, |
||
11 | attrHandle = jQuery.expr.attrHandle; |
||
12 | |||
13 | jQuery.fn.extend({ |
||
14 | attr: function( name, value ) { |
||
15 | return access( this, jQuery.attr, name, value, arguments.length > 1 ); |
||
16 | }, |
||
17 | |||
18 | removeAttr: function( name ) { |
||
19 | return this.each(function() { |
||
20 | jQuery.removeAttr( this, name ); |
||
21 | }); |
||
22 | } |
||
23 | }); |
||
24 | |||
25 | jQuery.extend({ |
||
26 | attr: function( elem, name, value ) { |
||
27 | var hooks, ret, |
||
28 | nType = elem.nodeType; |
||
29 | |||
30 | // don't get/set attributes on text, comment and attribute nodes |
||
31 | if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { |
||
32 | return; |
||
33 | } |
||
34 | |||
35 | // Fallback to prop when attributes are not supported |
||
36 | if ( typeof elem.getAttribute === strundefined ) { |
||
37 | return jQuery.prop( elem, name, value ); |
||
38 | } |
||
39 | |||
40 | // All attributes are lowercase |
||
41 | // Grab necessary hook if one is defined |
||
42 | if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) { |
||
43 | name = name.toLowerCase(); |
||
44 | hooks = jQuery.attrHooks[ name ] || |
||
45 | ( jQuery.expr.match.bool.test( name ) ? boolHook : nodeHook ); |
||
46 | } |
||
47 | |||
48 | if ( value !== undefined ) { |
||
49 | |||
50 | if ( value === null ) { |
||
51 | jQuery.removeAttr( elem, name ); |
||
52 | |||
53 | } else if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { |
||
54 | return ret; |
||
55 | |||
56 | } else { |
||
57 | elem.setAttribute( name, value + "" ); |
||
58 | return value; |
||
59 | } |
||
60 | |||
61 | } else if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { |
||
62 | return ret; |
||
63 | |||
64 | } else { |
||
65 | ret = jQuery.find.attr( elem, name ); |
||
66 | |||
67 | // Non-existent attributes return null, we normalize to undefined |
||
68 | return ret == null ? |
||
69 | undefined : |
||
70 | ret; |
||
71 | } |
||
72 | }, |
||
73 | |||
74 | removeAttr: function( elem, value ) { |
||
75 | var name, propName, |
||
76 | i = 0, |
||
77 | attrNames = value && value.match( rnotwhite ); |
||
78 | |||
79 | if ( attrNames && elem.nodeType === 1 ) { |
||
80 | while ( (name = attrNames[i++]) ) { |
||
81 | propName = jQuery.propFix[ name ] || name; |
||
82 | |||
83 | // Boolean attributes get special treatment (#10870) |
||
84 | if ( jQuery.expr.match.bool.test( name ) ) { |
||
85 | // Set corresponding property to false |
||
86 | elem[ propName ] = false; |
||
87 | } |
||
88 | |||
89 | elem.removeAttribute( name ); |
||
90 | } |
||
91 | } |
||
92 | }, |
||
93 | |||
94 | attrHooks: { |
||
95 | type: { |
||
96 | set: function( elem, value ) { |
||
97 | if ( !support.radioValue && value === "radio" && |
||
98 | jQuery.nodeName( elem, "input" ) ) { |
||
99 | // Setting the type on a radio button after the value resets the value in IE6-9 |
||
100 | // Reset value to default in case type is set after value during creation |
||
101 | var val = elem.value; |
||
102 | elem.setAttribute( "type", value ); |
||
103 | if ( val ) { |
||
104 | elem.value = val; |
||
105 | } |
||
106 | return value; |
||
107 | } |
||
108 | } |
||
109 | } |
||
110 | } |
||
111 | }); |
||
112 | |||
113 | // Hooks for boolean attributes |
||
114 | boolHook = { |
||
115 | set: function( elem, value, name ) { |
||
116 | if ( value === false ) { |
||
117 | // Remove boolean attributes when set to false |
||
118 | jQuery.removeAttr( elem, name ); |
||
119 | } else { |
||
120 | elem.setAttribute( name, name ); |
||
121 | } |
||
122 | return name; |
||
123 | } |
||
124 | }; |
||
125 | jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) { |
||
126 | var getter = attrHandle[ name ] || jQuery.find.attr; |
||
127 | |||
128 | attrHandle[ name ] = function( elem, name, isXML ) { |
||
129 | var ret, handle; |
||
130 | if ( !isXML ) { |
||
131 | // Avoid an infinite loop by temporarily removing this function from the getter |
||
132 | handle = attrHandle[ name ]; |
||
133 | attrHandle[ name ] = ret; |
||
134 | ret = getter( elem, name, isXML ) != null ? |
||
135 | name.toLowerCase() : |
||
136 | null; |
||
137 | attrHandle[ name ] = handle; |
||
138 | } |
||
139 | return ret; |
||
140 | }; |
||
141 | }); |
||
142 | |||
143 | }); |