I think .has() should return a bool, :has() should be combined with :contains() (the finished filter named :contains()), and .contains() should go away.
That seems to make the most sense to me, anyways. On Thu, Dec 17, 2009 at 9:20 AM, Karl Swedberg <k...@englishrules.com>wrote: > On Dec 16, 2009, at 11:14 PM, John Resig wrote: > > People are use to using .has()? It was only just added - at the same > time as .contains() as well. > > I'll mull over the .contains() discrepancy. I may just punt it and > push people towards .has() anyway. > > Looking at .has() now I'm not 100% sure why it's filtering and not > just returning a boolean, like .is(). Hmm. If .has() returns a boolean > then yeah, consider .contains() gone (and a jQuery.contains will be > provided for those that need a lightweight method). > > --John > > > But if .has() returns a boolean, then we have the same problem with :has() > vs. .has() as we had with :contains() vs. contains(). > > Since :has() is a filter, I would expect .has() to be a filter. > > On Dec 17, 2009, at 12:45 AM, Rick Waldron wrote: > > John, I tend to assume that anything prefixed with 'is' or 'has' will > return a boolean. I think this is likely a common assumption. > > > I typically assume the same thing, but in this case .has() is not a prefix; > it's the full method name. And we already have the pseudo-selector :has() > that acts as a filter. > > > --Karl > > On Wed, Dec 16, 2009 at 11:04 PM, ajpiano <ajpi...@gmail.com> wrote: > > It seems like a matter of course that means of filtering that are > > exposed as both pseudoselectors and methods on the jQuery prototype > > return the same set of elements, or at least that they generally apply > > the same principle in filtering. Examples include eq, not, first, > > last, and has. While the :parent pseduo doesn't work the same > > as .parent(), most developers know what they're looking for if they're > > using :parent. > > > The new $.fn.contains method, however, doesn't work like :contains. > > Rather than searching for the text content of elements, .contains() is > > just a shortcut to $(elem).has("foo").length > 0. I'm not sure why > > this is really a necessary shortcut, given that most people are plenty > > used to doing something like .has().length anyway. I tend to think, > > however, that .contains () should work like :contains, for > > consistency's sake. > > > This would have the added benefit of allowing those people who do > > use :contains to write code like this: > > > var foo = "barbazbat"; > > $("div").contains(foo); > > > instead of > > $("div:contains("+foo+")"); > > > Anyone else have any thoughts on this? > > > --adam > > > -- > > > You received this message because you are subscribed to the Google Groups > "jQuery Development" group. > > To post to this group, send email to jquery-...@googlegroups.com. > > To unsubscribe from this group, send email to > jquery-dev+unsubscr...@googlegroups.com. > > For more options, visit this group at > http://groups.google.com/group/jquery-dev?hl=en. > > > > > > -- > > You received this message because you are subscribed to the Google Groups > "jQuery Development" group. > To post to this group, send email to jquery-...@googlegroups.com. > To unsubscribe from this group, send email to > jquery-dev+unsubscr...@googlegroups.com. > For more options, visit this group at > http://groups.google.com/group/jquery-dev?hl=en. > > > > -- > You received this message because you are subscribed to the Google Groups > "jQuery Development" group. > To post to this group, send email to jquery-...@googlegroups.com. > To unsubscribe from this group, send email to > jquery-dev+unsubscr...@googlegroups.com<jquery-dev%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/jquery-dev?hl=en. > -- You received this message because you are subscribed to the Google Groups "jQuery Development" group. To post to this group, send email to jquery-...@googlegroups.com. To unsubscribe from this group, send email to jquery-dev+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/jquery-dev?hl=en.