Javascript.RU

 
 
Опции темы
 
Старый 28.07.2012, 01:05
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

Проблема с elem.getElementsByClassName(className)
Доброго времени суток еще раз. В общем, замучался с таким кодом, почему-то при обращении по селекторам цсс, упорно возвращает обьект вместо числа.

<script>
  function ddd (){
    var elements = document.querySelectorAll('#allparam>.param input:first-child ');
  
  var rrr = 0 
    for (var i=0; i<elements.length; i++) {
      parseInt(elements[i].value, 10)
      alert(typeof(elements[i])+ typeof(rrr))
       rrr += elements[i].value 
    }
alert(rrr)
}



    function counter1(e, idd) {
        var val= parseInt(document.getElementById(idd).value, 10);
        var new_val= val + e;

        if (new_val>=50) {
            new_val=50
        }
        if (new_val <= -50){
            new_val= -50
        }
        document.getElementById(idd).value= new_val
            }



</script>

<div id="allparam">
        <div class="param">
        <input id="health" size="2" maxlength="2" value="0" readonly></label> <input type="button" value="+5" onclick="counter1(5, 'health')" /> <input type="button" value="-5" onclick="counter1(-5, 'health')" />
        <label for="health">Здоровье</label>
        </div>
        <div class="param">
        <input id="beauty" size="2" maxlength="2" value="0" readonly></label> <input type="button" value="+5" onclick="counter1(5, 'beauty')" /> <input type="button" value="-5" onclick="counter1(-5, 'beauty')" />
        <label for="beauty">Красота</label>
        </div>
        <div class="param">
        <input id="streng" size="2" maxlength="2" value="0" readonly></label> <input type="button" value="+5" onclick="counter1(5, 'streng')" /> <input type="button" value="-5" onclick="counter1(-5, 'streng')" />
        <label for="streng">Сила</label>
        </div>
        <div class="param">
        <input id="education" size="2" maxlength="2" value="0" readonly></label> <input type="button" value="+5" onclick="counter1(5, 'education')" /> <input type="button" value="-5" onclick="counter1(-5, 'education')" />
        <label for="education">Образованность</label>
        </div>
        <div class="param">
        <input id="smart" size="2" maxlength="2" value="0" readonly></label> <input type="button" value="+5" onclick="counter1(5, 'smart')" /> <input type="button" value="-5" onclick="counter1(-5, 'smart')" />
        <label for="smart">Интеллект</label>
        </div>
        <div class="param">
        <input id="social" size="2" maxlength="2" value="0" readonly></label> <input type="button" value="+5" onclick="counter1(5, 'social')" /> <input type="button" value="-5" onclick="counter1(-5, 'social')" />
        <label for="social">Социализированность</label>
        </div>
        <div class="param">
        <input id="many" size="2" maxlength="2" value="0" readonly></label> <input type="button" value="+5" onclick="counter1(5, 'many')" /> <input type="button" value="-5" onclick="counter1(-5, 'many')" />
        <label for="many">Финансы</label>
        </div>
        <div class="param">
        <input id="luck" size="2" maxlength="2" value="0" readonly></label> <input type="button" value="+5" onclick="counter1(5, 'luck')" /> <input type="button" value="-5" onclick="counter1(-5, 'luck')" />
        <label for="luck">Удачливость</label>
        </div>
    </div>
 
Старый 28.07.2012, 01:09
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

поправочка. с elem.querySelectorAll(css)
 
Старый 28.07.2012, 01:28
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Я не совсем понял, что вы имеете ввиду - 8-ю строку в коде? Естественно, что elements[i] возвращает объект-элемент DOM, а не число, а его свойство value возвращает строку.
 
Старый 28.07.2012, 01:32
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

Эм, нет. Сумму всех значений. Но я уже разобрался сам. Проблема была в
parseInt(elements[i].value, 10). нужно назначить переменную и приравнять ее к parseInt(elements[i].value, 10). Ну и еще в пример то ли от научного метода тыка пострадал, то ли я уже слишком устал , но везду должно быть elements[i].value.
 
Старый 28.07.2012, 01:33
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

function ddd (){
    var elements = document.querySelectorAll('#allparam>.param input:first-child ');

    var rrr = 0 

    for (var i=0; i<elements.length; i++ ) {
       rrr += ( parseInt( elements[ i ].value ) || 0 );
    }

    alert(rrr)
}
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
 
Старый 28.07.2012, 01:41
Профессор
Отправить личное сообщение для PashPP Посмотреть профиль Найти все сообщения от PashPP
 
Регистрация: 26.07.2012
Сообщений: 281

Цитата:
parseInt( elements[ i ].value ) || 0
а зачем тут этот ноль и почему он разделен "или"?
 
Старый 28.07.2012, 01:54
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от PashPP
а зачем тут этот ноль и почему он разделен "или"?
если parseInt не сможет преобразовать строку в число, тогда будет использован ноль
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
 

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с обработкой ескольких .hover() anocean jQuery 3 15.06.2012 22:43
Проблема с Popup окном vovuslik jQuery 5 12.06.2010 16:12
Проблема с CSS COKOJIOB (X)HTML/CSS 5 04.08.2009 14:19
Проблема, в менюшке Большой джо Элементы интерфейса 0 12.07.2009 17:12
Проблема спама lliberty AJAX и COMET 1 12.03.2009 16:47


© Илья Кантор, 2007-2021 О проекте - Архив форума - Вверх