Есть несколько причин, по которым функция find() в jQuery может не находить элементы:
1. Неправильный селектор. Убедитесь, что селектор, переданный в функцию find(), правильно указывает на дочерние элементы, которые вы хотите найти.
2. Документ не загружен полностью. В некоторых случаях, если код находится выше элементов, которые вы пытаетесь найти, jQuery может не найти их. Убедитесь, что ваш код находится внутри функции $(document).ready() или используйте событие загрузки страницы window.onload.
3. Элементы были добавлены динамически. Если дочерние элементы были добавлены на страницу после того, как код нашел родительский элемент, функция find() не сможет найти их. В этом случае вам нужно будет использовать делегирование событий или переписать код, чтобы он искол и добавлял дочерние элементы динамически.
Чтобы улучшить код на jQuery для поиска дочерних элементов, вы можете воспользоваться таким кодом:
```javascript
$('.modal').on('click', 'button', function() {
var slider = $(this).closest('.modal').find('[data-slider="slick"]');
// Делайте что-то с найденным элементом слайдера
});
```
В этом коде используется метод closest(), чтобы найти ближайшего родителя с классом `.modal`, а затем метод find(), чтобы найти дочерний элемент с атрибутом `data-slider="slick"`.