- 16, May 2024
- #1
Хорошо.
У меня есть два неупорядоченных списка.
Элементы списка в каждом списке либо активны, либо деактивированы (один список для активных элементов и один для деактивированных). Пользователь, имеющий доступ, может нажать кнопку деактивации/повторной активации в каждом элементе списка и переместить элемент в другой список.
Все это работает, без проблем. Однако я немного злоупотребляю списком и создаю определенные элементы списка с классом «заголовок» — им присваивается значение, которому соответствуют соответствующие элементы списка, которые можно активировать или деактивировать.
Мне нужен способ скопировать ближайший элемент списка с классом заголовка в другой неупорядоченный список, если этот заголовок еще не присутствует в списке. Еще не запутались? Позвольте мне попытаться показать, что я имею в виду: Активные элементы:
Это работает. Однако, если я деактивирую другой элемент в разделе «Это заголовок», я не хочу, чтобы этот заголовок был частью списка, поскольку он уже присутствует — и это то, с чем я борюсь.
Есть ли какие-нибудь советы о том, как я могу сопоставить ближайший элемент заголовка из элемента списка, который я выбрал для активации/деактивации, с содержимым, с элементом в списке, в который я его перемещаю? Примечание: может быть много разных элементов заголовка, все с разным содержанием, поэтому я должен сопоставить каждый из них, и если какой-либо из них соответствует, мне НЕ нужно добавлять заголовок - если ни один из них не соответствует, я должен добавить заголовок (и, конечно, поместите перемещенный элемент под правильный заголовок, но это должно быть довольно легко сделать).
Конечно, у меня уже есть некоторый код jQuery для этого, но я подумал, может ли кто-нибудь предоставить мне что-нибудь элегантное и короткое - текущий код, который у меня есть, немного раздут.
У меня есть два неупорядоченных списка.
Элементы списка в каждом списке либо активны, либо деактивированы (один список для активных элементов и один для деактивированных). Пользователь, имеющий доступ, может нажать кнопку деактивации/повторной активации в каждом элементе списка и переместить элемент в другой список.
Все это работает, без проблем. Однако я немного злоупотребляю списком и создаю определенные элементы списка с классом «заголовок» — им присваивается значение, которому соответствуют соответствующие элементы списка, которые можно активировать или деактивировать.
Мне нужен способ скопировать ближайший элемент списка с классом заголовка в другой неупорядоченный список, если этот заголовок еще не присутствует в списке. Еще не запутались? Позвольте мне попытаться показать, что я имею в виду: Активные элементы:
<ul id="inactivelements">
</ul>
Код (разметка): Неактивные элементы:
<ul id="activelements"> <li class="heading">This is a heading</li> <li>This is an active element</li> <li>This is another active element</li> <li class="heading">This is another heading</li> <li>This is yet another active element</li> </ul>
Код (разметка): Здесь нет элементов, поскольку ни один из них еще не деактивирован.
Если я деактивирую второй элемент под первым заголовком в #activelements, я хочу, чтобы заголовок «Это заголовок» появился и был вставлен перед элементом списка в списке деактивированных элементов.
Это работает. Однако, если я деактивирую другой элемент в разделе «Это заголовок», я не хочу, чтобы этот заголовок был частью списка, поскольку он уже присутствует — и это то, с чем я борюсь.
Есть ли какие-нибудь советы о том, как я могу сопоставить ближайший элемент заголовка из элемента списка, который я выбрал для активации/деактивации, с содержимым, с элементом в списке, в который я его перемещаю? Примечание: может быть много разных элементов заголовка, все с разным содержанием, поэтому я должен сопоставить каждый из них, и если какой-либо из них соответствует, мне НЕ нужно добавлять заголовок - если ни один из них не соответствует, я должен добавить заголовок (и, конечно, поместите перемещенный элемент под правильный заголовок, но это должно быть довольно легко сделать).
Конечно, у меня уже есть некоторый код jQuery для этого, но я подумал, может ли кто-нибудь предоставить мне что-нибудь элегантное и короткое - текущий код, который у меня есть, немного раздут.