в консоли он дает мне ошибку "позиция не определена", используя код ниже.. любые идеи?
var x = 1;
var y = 1;
function getyx(y, x) {
var yx = 'Y' + y + 'X' + x ;
return yx;
}
function getPosition() {
var position = document.getElementById(getyx(y,x));
return position;
}
function moveSprite() {
position.appendChild(img); //error occurs here
}
Может быть, элемент by Id can not принимает функцию? Я знаю, что это может быть глупый вопрос, но простите меня :)
Похоже, что getPosition
- это функция, которая выбирает нужный элемент, поэтому попробуйте вызвать эту функцию:
function moveSprite() {
const position = getPosition();
position.appendChild(img);
}
Нет ничего плохого в передаче строки, созданной функцией getElementById
Причина, по которой он говорит, может быть несколько проблем, самое простое, поскольку у вас нет "Y1X1" в качестве HTML-кода.
Если ваша функция вернет строку, она сможет использовать getElementById(). Если вы не уверены в объеме, вы можете перейти в начало своего кода и использовать var position;
однако это скорее всего не проблема.
GetPosition().appendChild(img);