У меня есть эта функция, которая читает координацию из XML-файла, функция отлично работает, когда она свободна в окне. но когда я помещаю его внутрь функции, я получаю ошибку. Cannot read property 'style' of null.
по строке 127.Uncaught TypeError: Не удается прочитать свойство 'style' of null
Строка 127 является
document.getElementById(id).style.top=Ynod;
Любые идеи?
var main = (function() {
var id=Math.floor((Math.random()*1000000)+1);
document.getElementById("add-new-sticker-btn").addEventListener("click", function(){
id += 1;
console.log(id);
add_sticker(""); /**"" removes undefined "*/
var xmlhttp;
xmlhttp=new XMLHttpRequest();
xmlhttp.open("POST","/project2/php/insert.php",true); /*Search way... JS to javaScript*/
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("textBoxID="+id);
});
function run() {
readXml();
}
function readXml() {
var xmlhttp;
xmlhttp = new XMLHttpRequest();
xmlhttp.open("get", 'xml/stickers.xml', false);
xmlhttp.send();
var myXML = xmlhttp.responseXML;
stickers = myXML.getElementsByTagName("sticker");
for (i = 0; i < stickers.length; i++) {
var idNod = (stickers[i].getElementsByTagName("id")[0].childNodes[0].nodeValue); /*Get the ID*/
var id = idNod;
var textNod = (stickers[i].getElementsByTagName("text")[0].childNodes[0].nodeValue); /* Text*/
add_sticker(textNod); /*Call creator function*/
var Xnod = (stickers[i].getElementsByTagName("x")[0].childNodes[0].nodeValue) + 'px'; /*Get the x position Add PX for pixel*/
var Ynod = (stickers[i].getElementsByTagName("y")[0].childNodes[0].nodeValue) + 'px'; /*Get the y position*/
var Znod = (stickers[i].getElementsByTagName("z")[0].childNodes[0].nodeValue); /*Get the y position*/
console.log(Ynod) // Gives correct Y and X
console.log(Xnod)
document.getElementById(id).style.top = Ynod;
document.getElementById(id).style.left = Xnod;
document.getElementById(id).style.zIndex = Znod;
}
}
window.addEventListener("load", run);
return {};
}());
Это означает, что 'document.getElementById (идентификатор)' не может найти элемент с указанным 'id'. – VisioN
@VisioN точно, но у меня есть элемент Id, где он должен быть? или Im я называю это неправильно? – Dymond
[Узнайте, как отлаживать JavaScript] (http://www.netmagazine.com/tutorials/javascript-debugging-beginners). Установите контрольные точки, выполните шаг и шаг кода и убедитесь, что каждая переменная имеет значение, которое вы ожидаете от нее. Сообщение об ошибке понятно, но поскольку мы не можем запускать код или знать данные, мы не можем сказать больше. –