Позиционирование элементов HTML - PullRequest
0 голосов
/ 18 марта 2012

HTML-страница:

ПЕРВЫЙ ЭЛЕМЕНТ

Функция on -lick FIRST ELEMENT (которая

) имеет следующую функцию: function insert(event) { elem = document.getElementById("first"); element = document.createElement("div"); element2 = document.createElement("a"); element2.href = "www.google.com"; element2.innerHTML = "GOOGLE" + n; element.appendChild(element2); //element.innerHTML = "text content"; element.style.position = "relative"; element.style.backgroundColor = "yellow"; element.style.left = "10px"; element.style.top = "30px"; elem.appendChild(element); //document.body.appendChild(element); event.target.appendChild(element); n++; } при двойном нажатии на «ПЕРВЫЙ ЭЛЕМЕНТ» выдается: FIRST ELEMENT GOOGLE1 GOOGLE2 но я хочу, чтобы вывод был: FIRST ELEMENT GOOGLE2 GOOGLE1 Как мне этого добиться?

1 Ответ

1 голос
/ 18 марта 2012

Вы можете использовать insertBefore , чтобы изменить порядок дочерних элементов. Вот что вы хотите:

var n = 1;
function myfunc(event)
{
    elem = document.getElementById("first");
    element = document.createElement("div");
    element2 = document.createElement("a");
    element2.href = "www.google.com";
    element2.innerHTML = "GOOGLE" + n;
    element.appendChild(element2);
    element.style.position = "relative";
    element.style.backgroundColor = "yellow";
    element.style.left = "10px";
    element.style.top = "30px";
    elem.appendChild(element);

    children = elem.children;         

    if(typeof(children) != "undefined" && children.length > 1){

        num = children.length - 1;
        elem.insertBefore(children[num], children[1]);
    }

    n++;
}​

Ссылка на рабочий образец: http://jsfiddle.net/szNcT/

...