I see. Yeah, that might work, except that Sizzle is currently very  
liberal about quotation marks:

PSEUDO: /:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\ 
(\)]*)+)\2\))?/

I think it's a fairly common misconception that you have to use quotes  
within match[3], so at best it would take a lot of re-education and at  
worst it would break a lot of code.

--Karl

p.s. sorry about the tone of my last email. I just re-read what I  
wrote (the "how in the world" part, especially), and I think I sounded  
like an arrogant bastard. My apologies.

On Dec 17, 2009, at 5:08 PM, Matt Maxwell wrote:

> The text search would be surrounded by quotes, whereas searching by  
> an actual selector would not be in quotes, i.e.
> $("div:contains(p)") would find all descendant p elements
> $("div:contains('bar')") would find all divs containing the text 'bar'
>
> etc, etc
>
> Though, John makes a good point.  I guess the way I see it is,  
> jQuery already has a pretty intuitive design, and this sounded right  
> up its alley to me.
>
> Just my idea.  Obviously, if it doesn't fit the bill, don't go with  
> it.
>
> On Thu, Dec 17, 2009 at 4:02 PM, Karl Swedberg  
> <k...@englishrules.com> wrote:
> how in the world would jQuery know if you're trying to filter on the  
> text content "div" or on a descendant div element?
>
> --Karl
>
> On Dec 17, 2009, at 4:35 PM, Matt Maxwell wrote:
>
>> It's a selector or a string of text.  jQuery already contains the  
>> ability to intuitively decipher its selectors.
>>
>> For example, filter can contain an expression or a function.  These  
>> are two completely different things as well.
>>
>> On Thu, Dec 17, 2009 at 3:13 PM, Karl Swedberg  
>> <k...@englishrules.com> wrote:
>> But :has() and :contains() do two completely different  
>> things. :contains() filters based on text contents while :has()  
>> filters based on selectors. So, I think it would be a really bad  
>> idea to try to combine them.
>>
>> --Karl
>>
>>
>> On Dec 17, 2009, at 3:48 PM, Matt Maxwell wrote:
>>
>>> 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 
>>> .
>>> 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 
>> .
>> 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 
> .
> 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.
For more options, visit this group at 
http://groups.google.com/group/jquery-dev?hl=en.


Reply via email to