| 672 | } |
| 673 | |
| 674 | function state_ready() { |
| 675 | switch(true) { |
| 676 | case '#' === c: state = ID; break |
| 677 | case '.' === c: state = CLASS; break |
| 678 | case ':' === c: state = PSEUDOCLASS; break |
| 679 | case '[' === c: state = ATTR_START; break |
| 680 | case '!' === c: subject(); break |
| 681 | case '*' === c: star(); break |
| 682 | case ',' === c: comma(); break |
| 683 | case /[>\+~]/.test(c): state = OPERATION; break |
| 684 | case /\s/.test(c): state = ANY_CHILD; break |
| 685 | case /[\w\d\-_]/.test(c): state = TAG; --idx; break |
| 686 | } |
| 687 | } |
| 688 | |
| 689 | function subject() { |
| 690 | state = SUBJECT |