Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.03.2014, 18:54
Аспирант
Отправить личное сообщение для Apelcun77 Посмотреть профиль Найти все сообщения от Apelcun77
 
Регистрация: 14.11.2013
Сообщений: 37

getElementsByClassName не работает
function lookimg(){
for (i = 1; i <= 25; i++) {
document.getElementsByClassName("bottom").innerHTML = document.getElementsByClassName("bottom").innerHTML + '<input class="pickimg" type="radio" name="img" value="' + i + '">' + '<img src="images/asortiment/'+ i +'.jpg">';
}

<div class="popup-box" id="popup-box-1">
    <div class="close">X</div>
    <div class="top">
        <h2>Выберите картинку:</h2>
    </div>
    <div class="bottom">
    </div>
</div>

Не работает document.getElementsByClassName("bottom") - он не находит класс и не хочет вписывать в него нужную информацию. Что мне сделать чтобы он заработал?
Ответить с цитированием
  #2 (permalink)  
Старый 20.03.2014, 19:09
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

function lookimg() {
   var elem = document.getElementsByClassName("bottom")[0];
   for (i = 1; i <= 25; i++) {
      elem.innerHTML += '<input class="pickimg" type="radio" name="img" value="' + i + '">' + '<img src="images/asortiment/'+ i +'.jpg">';
   }
}
Ответить с цитированием
  #3 (permalink)  
Старый 20.03.2014, 19:25
Аспирант
Отправить личное сообщение для Apelcun77 Посмотреть профиль Найти все сообщения от Apelcun77
 
Регистрация: 14.11.2013
Сообщений: 37

<html> 
<head> 
  <style type='text/css'>  
  </style> 
  <script type='text/javascript' src='jquery.js'></script> 
  <script type='text/javascript'> 
var elem = document.getElementsByClassName("bottom")[0];

function lookimg(){
for (i = 1; i <= 25; i++) {
   elem.innerHTML += '<input class="pickimg" type="radio" name="img" value="' + i + '">' + '<img src="images/asortiment/'+ i +'.jpg">';
}
  </script> 
</head> 
<body onload="lookimg();"> 
<div class="popup-box" id="popup-box-1">
    <div class="close">X</div>
    <div class="top">
        <h2>Выберите картинку:</h2>
    </div>
    <div class="bottom">
    </div>
</div>
</body> 
</html>

Сделал как вы сказали, все-равно не работает
Ответить с цитированием
  #4 (permalink)  
Старый 20.03.2014, 19:26
Аватар для nice_try
Профессор
Отправить личное сообщение для nice_try Посмотреть профиль Найти все сообщения от nice_try
 
Регистрация: 11.12.2013
Сообщений: 313

закрывающую скобку у функции пропустил
Ответить с цитированием
  #5 (permalink)  
Старый 20.03.2014, 19:29
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

var elem = document.querySelector('#popup-box-1>div.bottom');

Ответить с цитированием
  #6 (permalink)  
Старый 20.03.2014, 20:32
Аспирант
Отправить личное сообщение для Apelcun77 Посмотреть профиль Найти все сообщения от Apelcun77
 
Регистрация: 14.11.2013
Сообщений: 37

<html> 
<head> 
  <style type='text/css'>  
  </style> 
  <script type='text/javascript' src='jquery.js'></script> 
  <script type='text/javascript'> 
var elem = document.querySelector('#popup-box-1>div.bottom');
function lookimg(){
for (i = 1; i <= 25; i++) {
   elem.innerHTML += '<input class="pickimg" type="radio" name="img" value="' + i + '">' + '<img src="images/asortiment/'+ i +'.jpg">';
}
}
  </script> 
</head> 
<body onload="lookimg();"> 
<div class="popup-box" id="popup-box-1">
    <div class="close">X</div>
    <div class="top">
        <h2>Выберите картинку:</h2>
    </div>
    <div class="bottom">
    </div>
</div>
</body> 
</html>

СДелал так и опять не работает
Ответить с цитированием
  #7 (permalink)  
Старый 20.03.2014, 20:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Apelcun77,
поставьте 7 строку в конец строки 8
Ответить с цитированием
  #8 (permalink)  
Старый 20.03.2014, 20:58
Аспирант
Отправить личное сообщение для Apelcun77 Посмотреть профиль Найти все сообщения от Apelcun77
 
Регистрация: 14.11.2013
Сообщений: 37

спасибо, получилось!
Ответить с цитированием
  #9 (permalink)  
Старый 20.03.2014, 23:09
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Apelcun77
for (i = 1; i <= 25; i++) {
   elem.innerHTML +=
Чувак, не делай так. При изменении innerHTML всякий раз уничтожаются и пересоздаются элементы!
Делай так:
var html = '';
for (i = 1; i <= 25; i++) {
   html += '...';
}
elem.innerHTML = html;
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #10 (permalink)  
Старый 20.03.2014, 23:56
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Сообщение от danik.js
Чувак, не делай так.
Польза от documentFragment

Последний раз редактировалось Vlasenko Fedor, 21.03.2014 в 02:56.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JS: работает на сервере, не работает из папки -majestic- Общие вопросы Javascript 2 02.08.2012 14:41
Не работает push! Динамическая вставка TSEH25 ExtJS 5 03.07.2012 13:00
jQyery функция странно работает! Midel Общие вопросы Javascript 4 08.04.2012 13:40
помогите найти ошибку (работает в IE но не работает в Firefox) Len4ik Javascript под браузер 2 11.05.2010 15:41
Safari + ajax некорректно работает, а в других работает demi AJAX и COMET 35 15.07.2009 14:11