Для перетаскиваемых divs в JS на моей странице я хочу сохранить последнее местоположение в локальном хранилище, чтобы при обновлении пользователя перетаскиваемые элементы на странице оставались на месте.Найти первый идентификатор любого потомка с помощью jQuery
Мой HTML, вообще говоря, как это:
<div id="some_id" class="draggable">
<p>I am a draggable thing.</p>
</div>
Затем я использую id
в div
в качестве ключа в локальном хранилище, так что наличие нескольких перетаскивать объектов на странице не приводит к их всему времени учитывая ту же позицию при обновлении.
Однако шаблоны, как это иногда используется в качестве шаблона, который обрабатывает видимость, так что иногда они будут выглядеть так:
<div class="visibility_container draggable">
<button class="close_button">Close</button>
<div id="some_id">
<p>I am a draggable thing.</p>
</div>
</div>
Обратите внимание, что draggable
класс добавляется программно каждый раз.
Эти шаблоны могут меняться, но никогда не будет иметь id
сек внутри них - они будут довольно жуткие шаблоны, если они - так что мне нужно только найти первый элемент-потомок, который имеет id
и использовать значение этого id
, как мой локальный ключ хранения.
Как найти ближайший элемент с JS? Я знаю, что jQuery имеет метод .closest()
, который находит ближайшего предка - мне нужно идти в противоположном направлении. Я также знаю о jQuery's .find()
, который может найти меня всех потомков, соответствующих селектору, но я не уверен, что могу гарантировать порядок, в котором jQuery возвращает этих детей, поскольку the API docs не были ясны в этом вопросе.
Does' .find() 'не делать трюк? – somethinghere
*" Эти шаблоны могут отличаться, но никогда не будут иметь идентификаторов внутри них - они были бы довольно ужасными шаблонами, если бы они это сделали, поэтому мне нужно только найти первый элемент-потомк, который имеет идентификатор, и использовать значение этого идентификатора в качестве моего локального ключа хранения ». * Если у них нет 'id' в них, как вы можете найти первый элемент внутри них, который имеет 'id'? –
У самих шаблонов есть части, которые можно заменить - я использую довольно отвратительную замену строк , поэтому шаблон имеет строку%% content% 'где-то, например, и заменяется на' div # some_id' при создании страницы. –