Как пройти несколько «вложенных» DOM-элементов, одновременно ссылаясь на объект jQuery? - PullRequest
0 голосов
/ 22 сентября 2018

ОБНОВЛЕНИЕ: Я смог заставить его работать, включив в строку начальный символ #, например 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');

Есть идеи, где я иду не так?

Заранее благодарю за помощь!

1 Ответ

0 голосов
/ 22 сентября 2018

Если $activeImageWrapper - это идентификатор элемента, который вы хотите выбрать, вам нужно добавить префикс #, чтобы сделать его правильным селектором.

$(`#${$activeImageWrapper} .cropper-container .cropper-crop-box .line-w`);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...