Как найти элемент относительно нажатого элемента

Вопросы и ответы

Я пытаюсь использовать Hyperscript, чтобы найти ближайший родительский элемент с классом .foo, когда пользователь кликает на любой элемент внутри <div>. Вот что у меня есть на данный момент:

<div _="on click log target's closest .foo">
  <details class="foo"><summary>AAA</summary>aaa</details>
  <details class="foo"><summary>BBB</summary>bbb</details>
</div>

Мои другие неудачные попытки:

_ = "on click log target's closest .foo"
_ = "on click log target's closest <details/>"
_ = "on click log the closest .foo from target"
_ = "on click log the closest .foo to the target"

Как я могу правильно найти и записать ближайший элемент-родитель .foo относительно нажимого элемента, используя Hyperscript?

Вы можете попробовать следующее решение:

<div _="on click log target.closest('.foo')">
  <details class="foo"><summary>AAA</summary>aaa</details>
  <details class="foo"><summary>BBB</summary>bbb</details>
</div>

target.closest(‘.foo’) использует метод closest() JavaScript, чтобы найти ближайший элемент-родитель с классом .foo относительно нажимого элемента.

Ответ

Чтобы найти ближайший родительский элемент с классом .foo относительно элемента, на который кликнул пользователь, вы можете использовать следующий код на языке Hyperscript:

<div _="on click log target.closest('.foo')">
  <details class="foo"><summary>AAA</summary>aaa</details>
  <details class="foo"><summary>BBB</summary>bbb</details>
</div>

В этом примере мы используем target.closest('.foo'), который применяет метод JavaScript closest(). Этот метод ищет ближайший родительский элемент (или сам элемент), который соответствует указанному селектору. В данном случае, .foo используется как селектор, чтобы найти предполагаемый элемент.

Таким образом, когда пользователь кликает на любой элемент внутри <div>, Hyperscript попытается найти ближайший элемент с классом .foo, начиная с самого элемента, на который кликнули, и поднимаясь вверх по иерархии элементов. Как только такой элемент найден, его информация будет выведена в лог.

Это должно полностью решить вашу задачу. Если у вас возникнут дополнительные вопросы или трудности, не стесняйтесь спрашивать!

Оцените материал
Добавить комментарий

Капча загружается...