Отображение изображения при вызове функции Javascript! - PullRequest
1 голос
/ 13 июня 2011

Я новичок в JavaScript и мне нужна помощь в решении этой проблемы!

При определенных условиях вызывается функция, и когда она вызывается, я хочу, чтобы изображение отображалось!Как я могу это сделать ?это не работает!

<script type="text/javascript">
function _enabled() {
document.write("<img border="0" src="http://4.bp.blogspot.com/-C4vvMEB9MyI/TfW0lduV2NI/AAAAAAAAAZc/N7HL1pUusGw/s1600/some image.png" />");
}

var r =true;
</script>

Это не работает, я получаю эту ошибку

Error: missing ) after argument list
Source File: file:///C:/Users/Gowtham/Desktop/new%20%202.html
Line: 5, Column: 33
Source Code:
document.write("<img border="0" src="http://4.bp.blogspot.com/-C4vvMEB9MyI/TfW0lduV2NI/AAAAAAAAAZc/N7HL1pUusGw/s1600/sjs.png" />"); 

Ответы [ 5 ]

4 голосов
/ 13 июня 2011

Синтаксическая ошибка в том, что вы используете двойные кавычки для строкового литерала document.write, но вы также использовали двойные кавычки для своих атрибутов HTML:

document.write("<img border="0" src="http://4.bp.blogspot.com/-C4vvMEB9MyI/TfW0lduV2NI/AAAAAAAAAZc/N7HL1pUusGw/s1600/some image.png" />");
//                          ^--- here and other places

Эта двойная кавычка завершает строковый литерал, поэтому вы получаете синтаксическую ошибку. Вы можете избежать этого с помощью обратной косой черты или использовать удобную функцию JavaScript, где вы можете использовать одинарные кавычки вокруг строковых литералов.

Но это само по себе не решит проблему. Если вы позвоните по номеру document.write после завершения основного анализа страницы, вы полностью удалите страницу и замените новым содержанием.

Чтобы отобразить изображение после того, как основной анализ страницы завершен, вы создаете новый элемент img с помощью функции DOM document.createElement, а затем добавляете его к элементу, в котором оно должно отображаться. Например, этот код помещает новое изображение в конец документа:

function addTheImage() {
    var img = document.createElement('img');
    img.src = "http://....";
    document.body.appendChild(img);
}

Чтобы добавить к другому элементу, а не конец body, вам просто нужно получить ссылку на элемент. Существуют различные способы сделать это, включая document.getElementById для поиска по значению id, document.getElementsByTagName для поиска всех элементов с данным тегом и т. Д. Некоторые браузеры предлагают очень богатые методы, такие как querySelectorAll, которые позволяют Вы используете селекторы CSS, но еще не все. (Многие библиотеки JavaScript, такие как jQuery , Prototype , YUI , Closure или любой из нескольких других штекеров, которые Впрочем, для вас это не так и предлагает другие удобные служебные функции, а также функции, сглаживающие несоответствия браузера и явные ошибки браузера.)

Подробнее о дом:

  • Спецификация DOM2 Core (широко поддерживается основными браузерами)
  • Спецификация DOM2 HTML (DOM, специфичный для HTML, также довольно широко поддерживается)
  • Спецификация DOM3 Core (менее широко поддерживается, но ситуация улучшается)
1 голос
/ 13 июня 2011
<script type="text/javascript">
  function _enabled() {
    document.write("<img border='0' src='http://4.bp.blogspot.com/-    C4vvMEB9MyI/TfW0lduV2NI/AAAAAAAAAZc/N7HL1pUusGw/s1600/some image.png' />");
   }

  var r =true;
</script>

Примечание: одинарные кавычки.

Проверено отлично.

1 голос
/ 13 июня 2011

Вам необходимо экранировать кавычки или использовать одинарные кавычки внутри строки, переданной document.write.Например, "<img border=\"0\"... или <img border='0'...

В данный момент ваша строка заканчивается в начале вашего первого атрибута.

1 голос
/ 13 июня 2011

Спасите свой код document.write.

<script type="text/javascript">
function _enabled() {
document.write("<img border=\"0\" src=\"http://4.bp.blogspot.com/-C4vvMEB9MyI/TfW0lduV2NI/AAAAAAAAAZc/N7HL1pUusGw/s1600/some%20image.png\" />");
}

var r =true;
</script>
0 голосов
/ 13 июня 2011

Вам нужно либо экранировать кавычки, либо использовать одинарные кавычки для javascript и удваивать для html (например).

<script type="text/javascript">
    function _enabled() {
        document.write('<img border="0" src="http://4.bp.blogspot.com/-C4vvMEB9MyI/TfW0lduV2NI/AAAAAAAAAZc/N7HL1pUusGw/s1600/some image.png" />');
    }

    var r =true;
</script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...