Почему find не ищет в jquery?

Метод find() в jQuery предназначен для поиска элементов внутри других элементов. Однако, он не предназначен для поиска элементов на странице в общем контексте.

Когда вы вызываете метод find(), он начинает поиск элементов, начиная с элемента, на котором был вызван метод. Он рекурсивно ищет все указанные элементы внутри этого элемента и его дочерних элементов. Это очень полезно, когда вам нужно найти конкретные элементы внутри других элементов, например, когда вы хотите найти все параграфы внутри определенного блока, или все элементы с определенным классом внутри другого элемента.

Однако, если вы хотите искать элементы на странице в общем контексте, вы должны использовать другие методы в jQuery, такие как find(), filter(), closest(), children() или селекторы CSS. Эти методы и селекторы позволяют вам делать более общий поиск по всей странице.

Например, если вам нужно найти все элементы с определенным классом на странице, вы можете использовать метод $('.classname'), где classname - это класс, по которому вы ищете элементы. Этот вызов вернет коллекцию всех элементов на странице, которые имеют указанный класс.

Если же вы хотите искать элементы по другим атрибутам, вы можете использовать более расширенные селекторы CSS, такие как $('input[name="username"]') или $('a[href="#"]'). Эти селекторы позволяют вам искать элементы на странице с определенными значениями атрибутов.

Одним из распространенных случаев, когда find() не ищет элементы, может быть неправильное использование метода, например, если вы забыли указать контекст, в котором производить поиск. В этом случае, find() будет искать элементы внутри текущего элемента, на котором был вызван метод, и если таких элементов нет, то он вернет пустую коллекцию. Поэтому, всегда убедитесь, что вы правильно указали контекст для поиска, чтобы избежать ошибок.