Наконец, проверьте, что IE6 + поддерживает # 3 и # 5, и вы можете (не) использовать OPTGROUP, чтобы обойти большинство других элементов.
Вы можете сделать это, имея optgroup без опций внутри, например:
<optgroup label="--"></optgroup>
Вы можете сделать метку как угодно, но суть в том, что в итоге вы получите элемент, который выглядит как обычный вариант, но не может быть выбран. Это открывает двери для всех видов веселья:
- Вы можете отключить определенные элементы, добавив их в качестве оптгрупп
- Вы можете предотвратить изменения выбора, закодировав все опции, кроме текущей, как optgroups (используйте другую текстовую клавишу, чтобы указать, что они отключены, если вам нужно)
- Вы можете использовать пробел, - или & mdash; метки для обозначенных простых разделителей, а не целых групп.
Это составляет большинство # 1 и # 2 в вашем списке, во всяком случае, по крайней мере, функциональных точек.
Причина "(неправильного) использования" заключается в том, что это не пройдет большинство валидаторов HTML. Однако этот прием работает во всех основных браузерах.