Привет Всем! Помогите пожалуйста с проблемой,
Есть функция которая создает элемент:
function createElem(name, attrs, style, text,past_id,position,changed) {
var i=document.getElementById('questionNum').value;
var parent = document.getElementsByTagName('body')[0];
var e = document.createElement(name);
if (attrs) {
for (key in attrs) {
if (key == 'class') {
e.className = attrs[key];
} else if (key == 'id') {
e.id = attrs[key]+i;
} else {
e.setAttribute(key, attrs[key]);
}
}
}
if (style) {
for (key in style) {
e.style[key] = style[key];
}
}
if (text) {
e.appendChild(document.createTextNode(text));
}
parent.appendChild(e);
if(past_id){
var old_elem = document.getElementById(past_id);
if(position=='before'){
parent.insertBefore(e,old_elem)
}else if(position=='after'){
insertAfter(parent,e,old_elem);
}
if(changed!='' && changed==true){
parent.removeChild(old_elem);
}
}
}
Вот так я эту функцию вызываю(внутри другой функции):
function callback(text,a)
{
createElem('div',
{'class': 'myDivCSSClass', 'id': 'myDivId','align':'center'},
{'width': '200px', 'height': '250px', 'background': '#3B9D00', 'color': '#fff'},
'what the fuck',
'test',
'before',
1);
//Допустим что после этого я хочу выбросить сообщение!
alert('IIIIIIIIIIHHHHHAAAAAAAAAAAAAA!!!');
}
Проблема в том, что если этот alert() поставить перед вызовом createElem() , ты выполнятся обе функции, а если наоборот, то создастся элемент, и сценарий остановится, алерта не будет.
Заранее спасибо!
P.S в оригинале я вызываю не алерт, а
document.getElementById('myDivId'+a).innerHTML = text;
отсюда и параметры 'a' и 'text', которые кстати передаются функции callback исправно.