2016-08-12 2 views
0

Я использую Javascript для вставки двух элементов li в веб-страницу. Второй li вставляется внутри первого.javascript для вставки html в веб-страницу

Вопрос в том, могу ли я создать структуру данных, которые имеют оба элемента li на одном уровне. Я мог бы настроить код, чтобы сделать две вставки, но мне любопытно, могу ли я делать каждую структуру данных.

Вот мой код для вставки элементов Li:

// Buid data structure 
    // Create first <li> note 
    var firstLi = document.createElement("lI"); 
    var node = document.createTextNode(" "); 
    firstLi.appendChild(node); 

    // Create second <li> node 
    var secondLi = document.createElement("LI"); 

    // Append pagination 
    // End of with three paginations on page with multipage document 
    secondLi.appendChild(clone);      

    // combine li's 
    firstLi.appendChild(secondLi); 

    // Append the cloned <span> element to follow [pulldown] 
    document.getElementsByClassName("apple-social-actions-toolbar")[0].appendChild(firstLi); 

Чуть выше подсвеченные линии вы увидите вложенную Ли. Я хочу, чтобы li был на том же уровне, что и закрывающая ul. indented li's

+0

Если я понять ваш вопрос правильно, для ул и Ли, чтобы быть братьями и сестрами, которые необходимо добавьте их в качестве детей одному и тому же родителю. Здесь вы добавляете li как дочерний элемент ul (используя appendChild) – Sean12

ответ

2

В вашем примере ваша логика для «комбинирования li» является ошибочной. Это добавление одного ребенка к другому, а не двух детей на одном уровне.

// combine li's 
    firstLi.appendChild(secondLi); 

    // Append the cloned <span> element to follow [pulldown] 
    document.getElementsByClassName("apple-social-actions-toolbar")[0].appendChild(firstLi); 

должны стать:

// combine li's 
    // remove this: firstLi.appendChild(secondLi); 

    // Append the cloned <span> element to follow [pulldown] 
    document.getElementsByClassName("apple-social-actions-toolbar")[0].appendChild(firstLi).appendChild(secondLi); 
+0

Это эффективно делает то, что делает OP-код. 'appendChild' возвращает добавленный элемент! '.appendChild (firstLi) .parentNode.appendChild (secondLi)' – undefined

0

Вот что я закончил с:

// Buid data structure 
    // Create first <li> note 
    var firstLi = document.createElement("lI"); 
    // \u00A0 is &nbsp; 
    var node = document.createTextNode(" \u00A0\u00A0\u00A0\u00A0 "); 
    firstLi.appendChild(node); 

    document.getElementsByClassName("apple-social-actions-toolbar")[0].appendChild(firstLi) 

    // Create second <li> node 
    var secondLi = document.createElement("LI"); 

    // Append pagination 
    // End of with three paginations on page with multipage document 
    secondLi.appendChild(clone);      


    // Append the cloned <span> element to follow [pulldown] 
    document.getElementsByClassName("apple-social-actions-toolbar")[0].appendChild(secondLi); 
Смежные вопросы