Zepto.js and the :selected and :checked selectors

If you switched from jQuery to its slightly anemic cousin, Zepto.js, you might have noticed that it doesn’t support two rather useful selectors, :selected and :checked.

Fortunately, it is fairly easy to compensate for it.

First, define the following two functions:

var checked = function(){ return this.checked; }
var selected = function(){ return this.selected; }

Once this is done, you can properly filter elements using .filter() and .not(), which are present in both jQuery and Zepto.js

// Equivalent to $('.radiobutton:checked')
$('.radiobutton').filter(checked);

// Equivalent to $('.dropdown:selected')
$('.dropdown').filter(selected);

These functions will only return selected/checked elements.

Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax