You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The default value for "type" is "text" under HTML5, however, CSS selectors act against the HTML markup and not the value of the attribute. This was overzealously implemented in the last release and resulted in all input elements of type text (regardless of whether the attribute was present) being selected. Despite this being an intuitive and useful behavior, it's wrong and is not how browsers do it. Selecting on [type="text"] now correctly ignores input elements with no type attribute.
Note that in jQuery 1.8 the :text selector has been deprecated, leaving no way in the publically supported API to select all text input elements. That is, <input /> is a valid text input according to the HTML5 spec since "text" is the default for the type attribute. The jQuery :text pseudoclass selector does include this (as well as ones that included a type=text attribute), but is now officially deprecated.
I think this is a very useful selector, especially since CsQuery will often be used against HTML which someone else marked up and you don't have the luxury of making sure all your text inputs have a type attribute, so I have no intention of removing it from CsQuery.
Generally speaking since CsQuery does not have all the same goals as jQuery (e.g., small size) I doubt I'll make a habit of ever removing deprecated features, unless there is a conflict with a more current usage.
The text was updated successfully, but these errors were encountered:
The default value for "type" is "text" under HTML5, however, CSS selectors act against the HTML markup and not the value of the attribute. This was overzealously implemented in the last release and resulted in all
input
elements of type text (regardless of whether the attribute was present) being selected. Despite this being an intuitive and useful behavior, it's wrong and is not how browsers do it. Selecting on[type="text"]
now correctly ignores input elements with no type attribute.Note that in jQuery 1.8 the
:text
selector has been deprecated, leaving no way in the publically supported API to select alltext
input elements. That is,<input />
is a valid text input according to the HTML5 spec since "text" is the default for thetype
attribute. The jQuery:text
pseudoclass selector does include this (as well as ones that included atype=text
attribute), but is now officially deprecated.I think this is a very useful selector, especially since CsQuery will often be used against HTML which someone else marked up and you don't have the luxury of making sure all your text inputs have a type attribute, so I have no intention of removing it from CsQuery.
Generally speaking since CsQuery does not have all the same goals as jQuery (e.g., small size) I doubt I'll make a habit of ever removing deprecated features, unless there is a conflict with a more current usage.
The text was updated successfully, but these errors were encountered: