Задать вопрос

Можно ли повесить событие на комментарии html?

Можно ли повесить событие jquery/javascript на комментарии html?
Комментарии такого типа
<p><!-- comment |тип поиска 1|-->ЯБЛОКО<!-- /comment --> <strong>Текст текст текст</strong><!-- comment |тип поиска 2|-->ГРУША<!-- /comment --> Текст текст текст</p>

Нужно найти все комментарии и повесить на них hover
в нашем случае нужен ховер на слово яблоко и груша

Может быть можно как-то найти эти комментарии
<!-- comment |тип поиска 1|-->ЯБЛОКО<!-- /comment -->, <!-- comment |тип поиска 2|-->ГРУША<!-- /comment -->

и в них запихнуть допустим <span></span>
(ну то есть слову "яблоко" или "груша" сделать обертку в виде span)?
  • Вопрос задан
  • 100 просмотров
Подписаться 1 Средний 1 комментарий
Пригласить эксперта
Ответы на вопрос 4
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Нельзя. К тому же, слово "ЯБЛОКО" не входит в комментарий.
Ответ написан
Robur
@Robur
Знаю больше чем это необходимо
Яблоко и груша у вас - не комментарии. Это текстовые ноды.
Найти в дереве вы их можете, но текстовые ноды насколько я знаю не создают никаких событий. заворачивайте в span
Ответ написан
zkrvndm
@zkrvndm
Архитектор решений
Конечно можно, вариантов реализации много, но самый просто выглядит так:
var p_all = document.querySelectorAll('p'); // Ищем все абзацы

// Обходим найденные абзацы в цикле:
for (var n = 0; n < p_all.length; n++) {
    // При помощи автозамены заворачиваем слово яблоко в спаны с атрибутом onmouseover:
    p_all.innerHTML = p_all.innerHTML.replace(/ЯБЛОКО/g, '<span onmouseover="youScript(this);">ЯБЛОКО</span>');
}

Всякий раз, при наведении мышки на слово ЯБЛОКО будет срабатывать скрипт указанный в onmouseover, при этом в сам скрипт будут передаваться ссылка на элемент (this).
Ответ написан
Комментировать
@Karpion
Для начала хорошо бы выяснить, кто и зачем выделил слова "ЯБЛОКО" и "ГРУША" таким нестандартным образом. Может, подкрутить что-то там, где делают эту, мягко говоря, нестандартной ориентации HTML-страницу?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы