За последние 24 часа нас посетили 18167 программистов и 1636 роботов. Сейчас ищут 1663 программиста ...

jQuery - добавление html

Тема в разделе "JavaScript и AJAX", создана пользователем basist, 26 сен 2009.

  1. basist

    basist Активный пользователь

    С нами с:
    7 июл 2007
    Сообщения:
    388
    Симпатии:
    0
    Адрес:
    Орел
    Здравствуйте, возникла проблема при добавлении html-кода.

    $(this).html как я понял заменяет весь код внутри элемента, куда это всё пишется. поэтому пытаюсь использовать $(this).append. получается так:

    [js]
    $(this).append('<div class="drop_list">')
    for(i = 0; i < AllDrops[num].length; i++)
    {
    $(this).append('<a href="#" class="drop_item">'+AllDrops[num]+'</a>')
    }
    $(this).append('</div>')
    [/js]

    но в этом случае первая строчка добавляет не
    HTML:
    1. <div class="drop_list">
    а
    HTML:
    1. <div class="drop_list" />
    как принудительно указать чтобы тег не закрывался?
     
  2. SDR

    SDR Активный пользователь

    С нами с:
    22 сен 2009
    Сообщения:
    244
    Симпатии:
    0
    может можно как-то проще, но первое, что приходит на ум, это создаёшь
    <div class="drop_list"></div>
    а потом добавляешь контент в него $(this).find('.drop_list').append... или типа того
     
  3. basist

    basist Активный пользователь

    С нами с:
    7 июл 2007
    Сообщения:
    388
    Симпатии:
    0
    Адрес:
    Орел
    SDR, точно, спасибо))
     
  4. SDR

    SDR Активный пользователь

    С нами с:
    22 сен 2009
    Сообщения:
    244
    Симпатии:
    0
    не за что. подумал тут, а ещё можно:

    Код (Text):
    1.  
    2. var content = '<div class="drop_list">';
    3. for(i = 0; i < AllDrops[num].length; i++)
    4. {
    5.    content += '<a href="#" class="drop_item">'+AllDrops[num][i]+'</a>';
    6. }
    7. content += '</div>';
    8. $(this).append(content);