#3102 closed enhancement (fixed)
jquery.eq() wrong behaviour if passed string
Reported by: | stevef_ | Owned by: | flesler |
---|---|---|---|
Priority: | minor | Milestone: | 1.3 |
Component: | core | Version: | 1.2.6 |
Keywords: | eq | Cc: | |
Blocked by: | Blocking: |
Description
Copy of ticket #3051, cant believe this was closed!
This wasted a good few hous of my time, surely a string check could be done here to avoid this causing problems for other people in the future.
I would rather see an error thrown rather than a jq object containing multiple results, this is really dangerous behaviour especially if your chaining and inadvertinly set many attributes instead of the one desired.
From 1.2.6 source:
443 eq: function( i ) { 444 return this.slice( i, i + 1 ); 445 }
This works fine when passed an integer. Selects a range when passed a string. For example:
.eq("1")
passes ("1", "11") to slice instead of (1, 2).
Change History (5)
comment:1 Changed 15 years ago by
Owner: | set to flesler |
---|---|
Status: | new → assigned |
Type: | bug → enhancement |
comment:2 Changed 15 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Applied the change at [5754].
comment:4 Changed 15 years ago by
Resolution: | fixed |
---|---|
Status: | closed → reopened |
comment:5 Changed 15 years ago by
Resolution: | → fixed |
---|---|
Status: | reopened → closed |
Ok, added one simple test at [5755]. That should be enough.
Ok, just figured a small fix, only one extra byte.