Нажмите ссылку внутри html, используя javascript

88
8

У меня есть тег div


<div id="img"> <div>

и script на странице


<script type="text/javascript">
function img(){
document.getElementById('img').innerHTML="<a href="/lime/link.html"><img src="/lime/img.png"></a>";}
</script>

как поместить изображение в div со ссылкой на pageload?

спросил(а) 2021-01-25T14:21:01+03:00 4 месяца, 2 недели назад
1
Решение
77

Используйте window.onload для этого:


<script type="text/javascript">
window.onload = function(){
document.getElementById('img').innerHTML='<a href="/lime/link.html"><img src="/lime/img.png"></a>';
};
</script>

Примечание: У вас была проблема с неправильной совпадением котировок, я тоже исправил это:)

ответил(а) 2021-01-25T14:21:01+03:00 4 месяца, 2 недели назад
45

Используйте onload -event

function appendHref() {
document.getElementById('img').innerHTML="<a href=\"/lime/link.html\"><img src=\"/lime/img.png\"></a>";
}

if (window.addEventListener){
window.addEventListener('load', function(e) {appendHref();}, false);}
else if (window.attachEvent){
window.attachEvent('onload', function(e) {appendHref();});
}

ответил(а) 2021-01-25T14:21:01+03:00 4 месяца, 2 недели назад
45

Добавьте window.onload=img; к вашему script, вне функции img() {}

ответил(а) 2021-01-25T14:21:01+03:00 4 месяца, 2 недели назад
44

У вас есть " символы внутри " -string.

Следовательно, строка заканчивается на первом ", а остальная часть строки становится синтаксической ошибкой.


Вы должны использовать ' вместо " для создания строки, например:


'<a href="/lime/link.html"><img src="/lime/img.png"></a>'

Кроме того, код может работать, только если элемент img уже обработан.
Если перед тегом <div> появляется блок <script>, вам нужно будет выполнить код в событии onload.


Наконец, ваш пример определяет функцию, но никогда не вызывает функцию.


Чтобы выполнить код, вам нужно вызвать функцию.

ответил(а) 2021-01-25T14:21:01+03:00 4 месяца, 2 недели назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема