Side navigation
#4072 closed enhancement (fixed)
Opened February 05, 2009 03:10AM UTC
Closed July 25, 2009 09:32PM UTC
Last modified July 28, 2009 12:29PM UTC
Provide a selector/node restriction option as a second argument to .closest
Reported by: | dantman | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 1.4 |
Component: | core | Version: | 1.3.2 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
A second argument to .closest to restrict how far the backwards traversing through the dom can go would be useful.
This would allow people to write something like:
$(#foo').click(function(e) {
var elm = $(e.target).closest('li', this);
...
});
In a case like this document:
<ul>
<li>
<ul id=foo>
<li>...</li>
</ul>
</li>
</ul>
If someone clicked directly on the ul#foo instead of the li (this is possible after the list has been styled) then the current .closest would falsely return the li which is a parent of the ul. Effectively using "this" as the restriction makes it so that tracing back through the dom never goes past the node we put the even on.
Ideally the restriction could be specified using a dom node, jQuery object, or selector (which would be matched as we walk along rather than traversing itself).
Attachments (0)
Change History (3)
Changed July 22, 2009 11:25PM UTC by comment:1
Changed July 25, 2009 09:32PM UTC by comment:2
component: | unfilled → core |
---|---|
milestone: | 1.3.2 → 1.3.3 |
resolution: | → fixed |
status: | new → closed |
version: | 1.3.1 → 1.3.2 |
Fixed in SVN rev [6507]. Implemented support for .context-limited .closest() method.
Changed July 28, 2009 12:29PM UTC by comment:3
Ok, context-limited .closest() didn't work as intended. Implemented .closest(filter, DOMElement) instead. Landed in SVN rev [6520].
Related (with attachment): #4945