2013-08-15 5 views
0

У меня очень простая веб-страница, которую я взял из шаблона. Справа у меня есть список ссылок в div, и при нажатии на них я хочу, чтобы html-страница, расположенная на моем сервере, загружалась во внутреннюю область div. При нажатии на ссылку ничего не происходит. Я также попытался установить innerHtml только текстовое значение, если часть src недействительна, но это тоже ничего не делает. Что мне не хватает? Это выглядит, как и все примеры, которые я прошел через .. И заметьте, я только даю частичное HTML, так что я знаю, что тело не закрыто и т.д.Почему мой скрипт onclick не меняет мой innerhtml?

у меня есть:

<body> 
    <script> 
    function results() 
    { 
     document.getElementsByClassName('mid-left-container').innerHTML="src="..\VRS_BVT\VRS_Test.html"" 
    } 
    </script> 

    <div id="main-wraper"> 
    <div id="top-wraper"> 
     <div id="banner">Automation Server</div> 

    </div> 
    <div id="mid-wraper"> 
     <div class="mid-wraper-top"> 
     <div class="mid-leftouter"> 
      <div class="mid-left-container"> 
      blah blah 
      </div> 
     </div> 
     <div class="right-container"> 
      <div class="right-container-top"> 
      <h3><span class="yellow-heading">Projects</span></h3> 
      <ul> 
       <li><a href="#" onclick="results()">VRS BVT</a></li> 
      </ul> 
      </div> 
     </div> 
     </div> 
    </div> 
    </div> 
</body> 
+0

Похоже, вы пытаетесь установить атрибут 'src' на' div'. 'Div' не имеют атрибута 'src'. Вы также вставляете двойные кавычки, а 'getElementsByClassName' возвращает массив элементов DOM. – godfrzero

+0

Возможный дубликат [Как использовать getElementsByClassName в javascript-функции?] (Http://stackoverflow.com/questions/14142677/how-to-use-getelementsbyclassname-in-javascript-function) - посмотрите комментарии там как ну и вы найдете много дубликатов. –

ответ

2

getElementsByClassName() возвращает массив (фактически NodeList) соответствующих элементов.

Вы создаете новое свойство innerHTML на этом массиве, которое не имеет никакого эффекта.

Вместо этого, вы должны получить фактический элемент из массива и установите его innerHTML:

document.getElementsByClassName(...)[0].innerHTML = ... 

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

Кроме того, размещение src="..\VRS_BVT\VRS_Test.html" в содержимом элемента HTML не будет загружать что-либо с сервера.
Вам необходимо использовать AJAX или .

Смежные вопросы