Не могу прочитать свойство 'setAttribute' с нулевым значением - Javascript

Если вам нужно взять два целых числа, скажите a, b в python, вы можете использовать функцию карты. Предположим, что вход - [

1
5 3
1 2 3 4 5

, где 1 - тестовый случай, 5 - число значений, а 3 - значение задачи, а в следующей строке - 5 значений, мы можем взять такой ввод, используя этот метод в PYTH 2 .x Версия.

testCases=int(raw_input())
number, taskValue = map(int, raw_input().split())
array = map(int, raw_input().split())

Вы можете заменить 'int' на map () другим необходимым типом данных.

1
задан Nino Filiu 17 January 2019 в 18:33
поделиться

1 ответ

Поскольку вы используете document.write после загрузки документа, он очищает весь документ (из-за того, что document.open () вызывается). Следовательно, ваши элементы img не существуют для setAttribute, который будет запущен против них. Попробуйте выполнить следующее (обратите внимание на поправки индекса, которые необходимы из-за индексации массива, начинающейся с нуля):

var dice = [6,6,6,6,6];
var results;
var resultsContainer = document.querySelector('.results');

function rollDice(){
    // clear results array
    results = [];
    for(var i =0; i<dice.length; ++i){
        var num = Math.floor(Math.random()*6 +1);
        dice[i] = num;
        results.push(dice[i]);
    }
    for(var i =0; i< dice.length; ++i){
        var value = dice[i];
        var path;
        var ArrayImage = ["images/dice 1.png", "images/dice 2.png", "images/dice 3.png", "images/dice 4.png", "images/dice 5.png", "images/dice 6.png"];
        path = ArrayImage[value - 1];
        document.getElementById("dice_"+ (i + 1)).setAttribute("src",path);
    }
    // convert results array to text with <br> between them
    var resultsStr = results.join("<br>");
    // display results as text to page
    resultsContainer.innerHTML = resultsStr;
}
0
ответ дан Matt Shultz 17 January 2019 в 18:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: