ОБНОВЛЕНИЕ: Я смог заставить его работать, включив в строку начальный символ #, например let $cropBoxLineLeft = $('#main-image-slider .slide.active #' + $activeImageWrapper + ' .cropper-container .cropper-crop-box').find('.line-w');
Можно ли как-нибудь сократить это?Просто пройдите от $activeImageWrapper
до .cropper-crop-box
и найдите .line-w
?Повторяю мой оригинальный пост, например, это не работает:
let $cropBoxLineLeft = $($activeImageWrapper).find('.cropper-container .cropper-crop-box .line-w');
И не фильтрует его (хотя, возможно, я неправильно использую .filter ()?)
let $cropBoxLineLeft = $($activeImageWrapper).filter('.cropper-crop-box').find('.line-w');
Должен ли я пройти по «полному» пути от #main-image-slider
до возможного .line-w'
?
В более ранних итерациях мне удавалось найти подходящий элемент при использовании«необработанное» строковое значение, подобное этому:
let $cropBoxLeftLine = $('#main-image-slider .slide.active #crop-image-wrapper .cropper-container .cropper-crop-box').find('.line-w');
Однако теперь я заменил #crop-image-wrapper
на что-то, с чем связан уникальный идентификатор, в настоящее время сохраненный в $activeImageWrapper
.
Я пробовал варианты вышеупомянутого селектора, но я не знаю, как правильно «использовать» объект jQuery.Он продолжает возвращать «Uncaught TypeError: Невозможно прочитать свойство 'nodeType' of undefined", поэтому я явно не выбираю его правильно.
Например, когда я пытаюсь объединить их вместе, это неКажется, что работает:
let $cropBoxLeftLine = $('#main-image-slider .slide.active ' + $activeImageWrapper + ' .cropper-container .cropper-crop-box').find('.line-w');
Также не пытаться перейти к преследованию и «найти» непосредственно на объекте:
let $cropBoxLeftLine = $($activeImageWrapper).find('.cropper-container .cropper-crop-box .line-e');
Есть идеи, где я иду не так?
Заранее благодарю за помощь!