Динамическое добавление атрибутов onmouseover к тегам привязки - PullRequest
0 голосов
/ 18 февраля 2012

Я генерирую все страницы на своем веб-сайте (www.ibiblio.org/britishraj) из документов MS Word с помощью приложения Java, созданного с нуля.Мне нужно сделать это в автоматическом режиме, поскольку есть 35 больших книг объемом до 500 страниц каждая, общим объемом более 4 миллионов слов, нескольких тысяч сносок и более тысячи изображений.

Я хотел бы добавитьвсплывающие сноски и всплывающие изображения, сохраняя при этом мой HTML настолько свободным от JavaScript, насколько это возможно.Я могу сделать это, если я добавлю onmouseover = к каждому тегу сноски и каждому тегу изображения.Я работаю в тестовом файле.

456 >

Ссылка на «это» необходима, чтобы решить, где показывать всплывающее окно.Их может быть до ста в любой главе, двадцать глав на книгу, 35 книг ...

Итак ... как я могу динамически добавить атрибут onmouseover?Я слышал, что есть некоторый способ итерации DOM после загрузки страницы и добавления дополнительного атрибута, основанного на классе тега, в этом случае clss = "fnr".Мне также нужно было бы передать число в качестве параметра, в данном случае 456, который является innerhtml тега привязки.

Я видел несколько примеров схожих вещей, но не совсем то, что мне нужно.Я боролся с этим в течение нескольких дней и не увенчался успехом.Мои навыки работы с javascript отсутствуют.

Помощь / совет приветствуются.

.... Теперь я немного мудрее, я знаю, что JQuery может сделать это с легкостью....

1 Ответ

0 голосов
/ 18 февраля 2012

Поместите идентификатор в тег (для легкого доступа), например, id = "myID".Если вы хотите добавить атрибут onmouseover, используйте:

document.getElementById("myID").onmouseover=/*your function name*/;

Выше приведено соответствие DOM1.Для DOM2 вы можете использовать методы addEventListener.Google it -_-.

Что касается вашего кода, вы можете перебирать все свои идентификаторы и использовать

document.getElementById("myID").onmouseover=function(){showfootnote(456, document.getElementById("myID"));};

Функциональность не изменится, если вы воспользуетесь приведенным выше кодом.:) Надеюсь, это поможет.

...