Commit Graph

171 Commits

Author SHA1 Message Date
Richard Gibson
6c2a501de4 Fix #5571. Setters should treat undefined as a no-op and be chainable. 2011-12-06 15:25:38 -05:00
Rick Waldron
a8460d24e0 Landing pull request 600. Remove jQuery.trim() to restore perf. Supplements #10773.
More Details:
 - https://github.com/jquery/jquery/pull/600
 - http://bugs.jquery.com/ticket/10773
2011-11-14 12:24:58 -05:00
Oleg
a467aa0a77 Fix #10773. Improve parameter handling in removeAttr. 2011-11-14 11:30:53 -05:00
Mike Sherov
f35ba5e699 Fix #10691. Remove all instances of equals() and same(), as these are deprecated in QUnit. 2011-11-06 15:27:42 -05:00
timmywil
c51b29477e Support setting both the enctype attribute and property (encoding in IE6/7). Fixes #6743. 2011-10-22 16:03:57 -04:00
timmywil
f2c1d2e016 Use the property name in elem.removeAttribute in IE6/7 to ensure correct removals. Fixes #10514. 2011-10-17 16:45:37 -04:00
timmywil
ce8d9c0ca5 Add a hook for removing contenteditable in IE6/7 and remove the unnecessary jQuery.attrFix. Fixes #10429. 2011-10-06 17:17:51 -04:00
Rick Waldron
ca4133cc3f Landing pull request 492. 1.7 Remove multiple attributes (Symmetry with removeClass) Combines patches submitted by leeoniya, zertosh and my own tests. Fixes #5479.
More Details:
 - https://github.com/jquery/jquery/pull/492
 - http://bugs.jquery.com/ticket/5479
2011-09-19 21:07:07 -04:00
timmywil
29c52b0f6c Add sparse array performance improvement for inArray. Thanks rwaldron, rkatic, and jdalton 2011-09-19 15:42:32 -04:00
timmywil
daeb665045 Check for property support in the boolHook before falling back to attribute node. Fixes #10278. 2011-09-19 15:42:32 -04:00
timmywil
92405d4f5f Override Sizzle attribute retrieval with jQuery.attr. Fixes #5637, #7128, #9261, #9570, #10178.
Bug fixed on the side: $(window).is('a') was throwing an exception. Fixes #10178.
2011-09-19 15:42:30 -04:00
timmywil
d723942b27 Revert back to always setting the attribute to empty string before removal. Fixes #9699. 2011-08-25 15:33:54 -04:00
Rick Waldron
13647e94e0 Fixes assertion counts and dom element fixture issue 2011-08-05 10:02:33 -04:00
timmywil
8c2cb49917 Now using getAttributeNode in all attribute cases in IE6/7, which normalizes attribute behaviors across browsers, is less hacky, and shortens the attribute code. Fixes #9980. 2011-08-04 18:16:15 -04:00
timmywil
fd4ee2a397 Make the tabIndex hook first a propHook and add it to attrHooks for back-compat reasons. Fixes #9979. 2011-08-04 18:16:15 -04:00
Dave Methvin
6a3395afcd Merge pull request #419 from rwldrn/9630
Unit tests assert that .contents().hasClass() works as expected. Fixes #9630
2011-08-04 14:33:52 -07:00
timmywil
1886d74434 Check the attribute node value for false for HTML5 booleans when not supported. Fixes #9504. 2011-07-09 14:52:16 -04:00
rwldrn
bb1702518e Filter hasClass by nodeType 1; Fixes #9630 2011-06-22 08:50:44 -04:00
rwldrn
27e5052a7b Assert that .contents().hasClass() works as expected. Fixes #9630 2011-06-21 14:04:06 -04:00
timmywil
96501d38a9 Allow similarly named classes (regression from 9499) and switch class retrieval to property when passing class to value functions. Fixes #9617. 2011-06-19 18:58:47 -04:00
timmywil
641ad80211 Attribute hooks do not need to be attached in XML docs. Fixes #9568. 2011-06-13 10:02:13 -04:00
timmywil
db437be6e3 Check classes passed for duplicates. Fixes #9499. 2011-06-07 21:00:44 -04:00
rwldrn
f82b9dddc4 Landing pull request 382. Adds support for number values (meter,progress); Fixes #9319.
More Details:
 - https://github.com/jquery/jquery/pull/382
 - http://bugs.jquery.com/ticket/9319
2011-05-20 11:03:33 -04:00
timmywil
25118e22a2 Handle unset value attributes consistently depending on property existence. Supplements #9328. 2011-05-18 11:46:22 -04:00
timmywil
ba90af0dc5 Make the value hook less obtrusive for elements which do not inherently have a value property. Fixes #9328. 2011-05-18 11:29:25 -04:00
timmywil
7d3ba9f89e Switched title attribute to getAttributeNode for IE6/7. Fixes #9329. 2011-05-18 11:05:20 -04:00
timmywil
a5cf257a8a Use getAttributeNode for ^on attributes in IE6/7 to avoid anonymous function wrapper. Fixes #9298. 2011-05-16 10:17:50 -04:00
timmywil
6171e0a923 Retrieve the class attribute on a form in IE6/7. Fixes 9286. 2011-05-14 12:07:40 -04:00
timmywil
bc82ff0ff9 Make sure setting boolean attributes to the same name sets the property to a boolean type 2011-05-13 13:39:38 -04:00
timmywil
6f676e692d Use prop to retrieve boolean properties (so the selected hook will be used) 2011-05-13 13:33:43 -04:00
timmywil
4526c8b0a0 Add fallback to prop for the window and document. Switch value to use the property instead of the attribute for back compat. 2011-05-10 00:28:02 -04:00
timmywil
18b1cf2942 Remove value check from formHook; other elements can use value hook 2011-05-07 22:01:10 -04:00
timmywil
8bb6e95b66 Set val before hide/show check and fix easing setting; also update attributes test for autofocus
- The object passed should not change so it can be used in future animates, updated src and tests accordingly.
2011-05-07 20:46:38 -04:00
timmywil
c085563270 Reduce the boolean list only to those that have corresponding IDLs that don't require being added to propFix; only set the IDL if it exists
- See http://jsfiddle.net/timmywil/u5NLn/ for how boolean attributes are handled in every browser.
2011-05-07 14:49:04 -04:00
timmywil
c72b0f3256 Check empty string instead of specified as specified is inconsistent on the name attribute. Fixes #9148. 2011-05-06 13:49:20 -04:00
timmywil
cccf9ad91d Add support for the contenteditable attribute 2011-05-05 12:52:04 -04:00
timmywil
5195335cf4 Set the property corresponding to a boolean attribute when setting to true. Fixes #9103.
- Once boolean properties had been modified natively, setting the attribute no longer set the current value
2011-05-04 15:53:00 -04:00
timmywil
480b88ca37 Set corresponding property to false when removing boolean attributes. Fixes #9094 2011-05-04 11:29:38 -04:00
timmywil
97144424cc Update boolean check to avoid crashes, add all name fixes to propFix (properties are case-sensitive in all browsers), add tests for prop 2011-05-04 00:31:01 -04:00
John Resig
a9d9f8c542 If no hook is provided, and a boolean property exists, use that to return an attribute-style value for boolean attributes. Fixes #9079. 2011-05-03 21:44:42 -04:00
timmywil
4ac2fdda2c Fix setting value attributes on option elements. Fixes #9071. 2011-05-03 14:48:36 -04:00
timmywil
24a8ffb3ea Test for a colon in attribute names for IE6/7. Fixes #1591. 2011-05-01 17:09:50 -04:00
timmywil
5165033883 Add tests data- and aria- attributes and the autofocus boolean attribute and some style updates in jQuery.attr 2011-04-25 12:41:12 -04:00
timmywil
3ac9eb7ce3 Landing pull request [337](https://github.com/jquery/jquery/pull/337). Value of radio inputs resets when type is set after the value in all IEs. Fixes #8570 ([bug](http://bugs.jquery.com/ticket/8570)). 2011-04-21 21:33:09 -04:00
timmywil
825d3d96ce Only use getAttributeNode on buttons when setting value 2011-04-19 13:17:38 -04:00
timmywil
34d80709ce Fix value attribute and val for value on button elements. Fixes #1954 2011-04-17 18:17:31 -04:00
timmywil
ecf6a3c383 Switch QUnit div from depreceted #main to #qunit-fixture 2011-04-17 02:43:57 -04:00
timmywil
b6d21592cb Add support for setting the cellPadding attribute in IE6/7 2011-04-14 23:11:49 -04:00
timmywil
ca5bc202ac IE9's support for SVG elements unfortunately does not extend to clearAttributes. Checks for its presence before proceeding. 2011-04-13 23:45:58 -04:00
timmywil
69866fd2e5 VML.type test was causing multiple test suite fails, fix attributes.js fail in IE6 where the val(String/Number) tests were interfering with the val(Function) tests 2011-04-12 19:32:18 -04:00
louisremi
11adde5127 second batch 2011-04-11 22:33:29 +02:00
timmywil
da89d8768c Had some stale code in test/unit/attributes.js 2011-04-10 15:40:49 -04:00
timmywil
3a1b4661f5 #8150 - When removing the width and height attributes in IE6/7, setting to "" actually sets to 0 instead of auto
- Having fixed this automatically with the use of removeAttribute in browsers that support it, this will fix it for IE6/7 as well.

- This has no effect on width/height styles set elsewhere( test added to removeAttr )

- With this addition, I need to call attr in removeAttr for IE6/7, which means boolean calls like .attr("checked", "") will no longer remove the attribute, which I think is fine.  .attr("checked", false) will still remove.  If I had left it, it would have gone in an infinite loop since setting to empty string is the only way to remove it in these browsers.

- The hrefNormalized hooks were returning null if they weren't present.  Added the null check to the getter.

- Now that the style support fails in IE8 as well due to uppercasing everything, no need to have style included with the hrefNormalized hooks
2011-04-09 17:25:06 -04:00
timmywil
17afd80d48 IE8 testing for lowercasing the css properties on retrieving style; had assumed the style support check failed in IE8, which it now does 2011-04-09 15:56:35 -04:00
timmywil
6f79bee3e3 Normalize css property names to lowercase for comparisons on a .attr('style') call since IE uppercases everything 2011-04-03 19:13:41 -04:00
timmywil
ad2b3bc9f9 Found a problem removing the style attribute in IE
- Style is now a special case in IE6/7 to set cssText.  My goal is to avoid calling attr again for the performance benefit, and at this point it would also cause an infinite loop for the boolean attributes hooks such as selected & checked.  Nevertheless, style seems to be the only one requiring a special call.
2011-04-03 19:13:41 -04:00
timmywil
8cbf551a48 #5413 - Much shorter solution for getting width/height in ie6
- #8255 Added support for the list attribute in browsers that support it (it is automatically readonly, but can be set if using getAttribute( name, 2)
2011-04-03 19:13:41 -04:00
timmywil
5fc2281fcc - Added a hook to swap display none for width and height in browsers that do not sufficiently support get/setAttribute 2011-04-03 19:13:41 -04:00
timmywil
fa4373c11b Add style attribute support tests to $.attr 2011-04-03 19:13:41 -04:00
timmywil
e0900a686d Fix issue where non-existant attributes on forms in IE6/7 were throwing errors 2011-04-03 19:13:40 -04:00
timmywil
3892df207d Add test for bug #3116 2011-04-03 19:13:40 -04:00
timmywil
47c80c2050 Add test for bug#3685, remove added html and add dynamicly to avoid global test suite errors 2011-04-03 19:13:40 -04:00
timmywil
9e05a0a37f Fix #6562, tighten up the special code for form objects, add name attrHook for IE6/7, and don't check for undefined with getting hook'd attr 2011-04-03 19:13:40 -04:00
timmywil
102053abd8 Fix #7472 and added test for #3113
- Forms with an input that has either name="action" or name="some-other-attr-on-the-form" caused problems in IE6/7.  This is fixed.

- Changed check in $.attr for ret === null to typeof ret === "object" to catch any inputs that are accidentally retrieved in IE6/7, since attributes cannot be set to objects and typeof null === "object"
2011-04-03 19:13:39 -04:00
timmywil
2580420b7e Test description 2011-04-03 19:13:39 -04:00
timmywil
5ac6ca3fa5 Restored 6 tests that I had commented to come back to later to split up between prop and attr. All tests still pass in all browsers.
- I should make it clear that I have not removed any tests, but only moved some attr tests to prop where I thought it was appropriate.
2011-04-03 19:13:39 -04:00
timmywil
dbe3b7a9d0 Style edits according to comments from John and rwaldron. 2011-04-03 19:13:39 -04:00
timmywil
8cd30c62d8 Continuing IE7 testing, conditional attr fixes and hooks with feature testing. Will figure out a way to shorten after the test suite passes. 2011-04-03 19:13:39 -04:00
timmywil
5eecb13fa3 Now passes in IE8, changed around $.hasAttr and switched the attrHook for selected to be a propHook 2011-04-03 19:13:38 -04:00
timmywil
de79e8c7e0 Make the new attr/prop changes pass the test suite (in Webkit). There are still errors in IE.
+ Added hooks for selected, checked, readonly, disabled to removeAttr if set to falsey

+ Removed all attrs from attrFix, these aren't needed for setAttribute

+ If prop is used for class, do we want a propFix for class?

  - We could just assume the user should know to use className with prop.  I've done the latter for now.

+ Created tests for $.fn.prop and $.fn.removeProp

  - Actually all I did was change broken attr tests to prop where it made sense.
2011-04-03 19:13:38 -04:00
rwldrn
43a41ba7ec Make sure .val() works after form.reset() in IE. Fixes #2551. 2011-02-10 23:50:02 +01:00
Colin Snover
e2941d5a98 Update unit tests with a leak detection mechanism for the various jQuery globals and fix all leaks in the tests. 2011-01-09 15:58:47 -06:00
Colin Snover
8e59a99e0a Change the way jQuery.data works so that there is no longer a chance of collision between user data and internal data. Fixes #6968. 2011-01-09 15:52:33 -06:00
Colin Snover
3e0cc81504 Clean trailing whitespace from all files. 2010-12-30 00:34:48 -06:00
jeresig
b2ea79c401 Merge branch 'attrFollowupFix' of https://github.com/jitter/jquery into jitter-attrFollowupFix 2010-12-09 12:43:10 -05:00
jeresig
b67154fd10 Merge branch 'support_6897' of https://github.com/rwldrn/jquery into rwldrn-support_6897 2010-12-09 12:33:26 -05:00
Anton M
cc9dbd06e5 Fix attr() problems in IE with attribute nodes. Followup to commit b50f41a2.
IE can't add properties on an attribute-node element, thus we handle it
like text-/comment-nodes.
2010-12-07 03:17:42 +01:00
John Resig
d4a9d45527 Merge branch 'restrictAttr' of https://github.com/jitter/jquery into jitter-restrictAttr 2010-12-06 17:02:00 -05:00
Anton M
df0a3fb853 Handle carriage return characters in className property. Fixes #7673. 2010-12-01 21:31:22 +01:00
Anton M
b50f41a2e3 Make sure attr() works on non DOM element nodes. Fixes #7202, #7451, #7500.
Also added some tests for this attr(name), attr(name, value) and removeAttr(name).
2010-11-13 14:39:28 +01:00
rwldrn
e2d0671f4c Support unit test for #6897 2010-11-09 16:31:52 -05:00
Colin Snover
a64dc04050 Remove conditional that prevents attr from working on non-Element nodes. Fixes #7451. 2010-11-09 15:52:20 -05:00
Anton M
4fcfee4369 Update number of expected assertions in attribute tests
Followup to commit 97dfa0d5a8 which
had the side effect to break some attribute unit tests
2010-10-19 11:14:07 +02:00
Colin Snover
b03416954d Coerce all array values to strings before comparison in val(). Fixes bug #7123. 2010-10-08 22:48:06 -05:00
John Resig
879799fe95 Make sure that ambiguous val() selection works correctly. 2010-09-28 08:36:28 -07:00
John Resig
c7c0677230 Make .attr(name, null) equivalent to removeAttr(name). (Was roughly this before - but is now consistent across platforms). Fixes #6341. 2010-09-28 11:12:13 -04:00
dmethvin
0636dffc24 Make .val(undefined) == .val("") and chainable; fixes #4130.
Ensure .val(null) sets an empty string on IE6/7; fixes #5163.
2010-09-25 05:57:14 +08:00
Dave Methvin
2c4b20809e Don't have .val() return selected-but-disabled options, or selected options inside a disabled optgroup. Doesn't change the .val() returned for a disabled select. Fixes #3240, adapted from Nathan Hammond's patch there. 2010-09-24 17:26:22 -04:00
John Resig
a32f4d7b6c Fixed the number of expected class tests from a previous commit. Thanks to @bugbegone in 1f667aa035 for the catch. 2010-09-22 12:35:42 -04:00
John Resig
dc060f08cd Tweaked anchor test to work better on Blackberry 4.7. 2010-08-26 12:36:50 -04:00
John Resig
1bdcffba8e Simplifying some of the .val() test code. 2010-08-23 14:23:13 -07:00
jzaefferer
6f031c1015 Replace usage of the removed global reset() method with QUnit.reset(). 2010-07-28 17:19:01 +02:00
jeresig
8effe3a7de Made it so that you no longer need to build jQuery in order to run the test suite (but you'll still need a checkout of QUnit and Sizzle, at least). 2010-03-23 12:12:16 -04:00
jeresig
437ddb931d No need to run trim on every class iteration in addClass, thanks for the heads-up Leeoniya. 2010-02-13 14:30:27 -05:00
jeresig
abcc1a76ee If .attr() is run on no elements undefined should be returned (as should be the case when no attribute is found). Fixes #6012. 2010-02-13 02:23:38 -05:00
jeresig
83a044f1b5 Make sure that no extra whitespace is leftover after an addClass. Fixes #6050. 2010-02-13 02:18:38 -05:00
jeresig
e76ba32ceb Make sure the resulting className from removeClass is nicely trimmed. Fixes #5988. 2010-02-01 21:33:58 -05:00
jeresig
f126f1ce85 Added tests for attribute function setters. 2010-01-07 11:15:40 -05:00
jeresig
12e8f07e34 Moved the val() tests from manipulation into attributes. 2010-01-07 09:55:15 -05:00
jeresig
4729f4d443 Make sure that selected works in Safari on options in optgroups. Fixes #5701. 2009-12-22 15:02:52 -05:00