Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Почему не срабатывает JS когда файлы указаны локально? (https://javascript.ru/forum/dom-window/58133-pochemu-ne-srabatyvaet-js-kogda-fajjly-ukazany-lokalno.html)

Odinokun 06.09.2015 17:36

Почему не срабатывает JS когда файлы указаны локально?
 
Вложений: 1
Есть код, который по клику на картинку открывает скрытый блок.
codepen.io/Odinokun/pen/XmJLBO
Но когда я указываю относительный путь к картинке которая лежит в каталоге с проектом, код перестает их (картинки) видеть.
Структура проекта простая в корне index.html и папки css, js, img где и лежат соответствующие файлы.
Код JS с относительными путями пишу так:
function SetTree(n){
   var t;
   if(n.src=='img/plus.gif'){
      t = n.parentNode.getElementsByClassName('tree_content_hide')[0];
      n.src='img/minus.gif';
      t.setAttribute("class", "tree_content_visible");
   } else {
      t = n.parentNode.getElementsByClassName('tree_content_visible')[0];
      n.src='img/plus.gif';
      t.setAttribute("class", "tree_content_hide");
   }
}


При выполнении выдает:
TypeError: t is undefined
t.setAttribute("class", "tree_content_hide");

Где я допускаю ошибку?

forwardonly2015 06.09.2015 18:15

Odinokun,
img.src -- это строка, которую вы указали.
Она не интерпретируется как путь, сравнивается строка с строкой. Следовательно, ветка
Цитата:

Сообщение от Odinokun
if(n.src=='img/plus.gif'){

никогда не отработет. Не путайте клиентский код с серверным.


Часовой пояс GMT +3, время: 01:27.