In addition to standard CSS expressions . . . Selectors.js also allows you to select on element properties such as name, value, or href using standard CSS3 expressions (see http://www.w3.org/TR/css3-selectors/#attribute-representation).
Example:
// All the mail-to links on the page:
$$('a[href^=mailto:]');The following expressions are supported:
| = | The property is equal to the value. |
|---|---|
| ^= | The property begins with the value. |
| $= | The property ends with the value. |
| != | The property is not equal to the value. |
| *= | The property contains the value. |
| ~= | The property is found when the value is split on spaces (so ~=foo matches “blah foo bar” but not “blahfoobar”). |
| |= | The property is found when the value is split on dashes (so |=foo matches “blah-foo-bar” but not “blahfoobar”). |
Here are a few more examples:
// All the inputs where name equals 'email'
$$('input[name=email]')
// All the images with urls that end in .gif
$$('img[src$=gif]')
// All the links without target="_blank"
$$('[target!=_blank]')Note that these expressions can take double or single quotes when you want to search for something that has a space or other character:$$('input[name!="user[username]"]')
$$('img[src$=".gif"]')
