Согласно ранним версиям Селекторов 3 , :checked
впервые был предложен как :selected
около 2000 года. Однако ни одна редакция проекта фактически не содержит определения для :selected
, поэтому я могу только предположим, что это было предложено :selected
перед тем, как вводить черновики как :checked
.
Так как было указано, что он применяется к атрибутам checked
и selected
в HTML (предположительно потому, что они оба служат цели в форме), не было необходимости иметь два псевдокласса, означающих одно и то же. Кроме того, цель состояла в том, чтобы отделить селекторы от HTML, поэтому было бы идеально иметь одно уникальное имя для этого псевдокласса. По какой-то причине, решая, как назвать этот псевдокласс, авторы spe c выбрали :checked
. Я просмотрел архивы списков рассылки www-style за 1999–2000 гг. И, к сожалению, не смог найти ничего публично обсуждающего это решение.
Свойства .checked
и .selected
DOM просто отражают имена своих атрибутов HTML и не связаны с чем-либо в селекторах. Вот почему вы обнаружите, что свойство .checked
появляется только в HTMLInputElement ; и .selected
, только в HTMLOptionElement .
jQuery содержит псевдокласс :selected
, который в основном представляет собой JavaScript переопределение :checked
, которое применяется только к option
элементы. Сделайте из этого то, что вы будете , но я рекомендую просто игнорировать это. Я упоминаю это только как пустяки.