Когда вы вызываете основную фабричную функцию jQuery (как jQuery(<something>)
или общий ярлык $(<something>)
), она решает, что делать, основываясь на типе <something>
.
Если вы передаете строкукак <something>
предполагается, что это спецификация селектора, и возвращает список jQuery элементов, соответствующих этому селектору.
Если вы передаете объект jQuery (представляющий список элементов, то есть объект, возвращенный из предыдущего вызовав jQuery) он просто вернет этот объект (по сути это неоперация).
Если вы передадите ему элемент DOM, он вернет список jQuery, содержащий только этот элемент (так что вы можете применять методы jQuery кэтот элемент).Это то, что происходит с $(document).ready()
- вы передаете фабричной функции элемент DOM «document», она возвращает объект jQuery, представляющий этот элемент, и вы используете метод ready () этого объекта, чтобы добавить функцию обработки события в событие readyиз всех элементов DOM в списке (в данном случае только один, document
).
Если вы передадите ему функцию, это просто сокращение для «запустите это, когда все готово для вас»для этого ", поэтому $(function() { ... });
эквивалентно $(document).ready(function() { ... });