Как добавить статический HTML до и после jquery prependTo внутри $.each

У меня есть и массив и цикл через jQuery $.each для итерации и создания элементов html dom на лету и добавления их в DOM.

  $.each(res, function(key, ele){
        var stemtext = ele[0];
        var stemID = ele[1];
        var pageNo = ele[2];            
        //Build HTML here
        $('<div/>', {
            'id':stemID,
            'class':'text-paragraph',
            'style':'cursor:pointer;',
            'html': '<p style="width: 80%; float: left;">'+ stemtext +'</p><p style="width:20%; float:left">'+ stemID +'</p>'
        }).prependTo('#PlaceHolder');
    });

Этот код работает без нареканий.

Но мне нужно добавить статический HTML до и после этого сгенерированного HTML в цикле $.each, а затем добавить его. Я должен сделать это только в jQuery, не могу коснуться HTML.

Я пытался сохранить этот HTML-код в переменной, а затем добавить HTML, но не получилось,

Каков наилучший способ добавить статический HTML до и после сгенерированного HTML внутри цикла $.each?

1 ответ

Я не знаю, понимаю ли я вашу проблему, но с тем, что я понял, есть мое решение (я уверен, что есть лучший способ сделать это):

 $('<div/>', {
        'id':"todelete",
    }).prependTo('#PlaceHolder');


   $('<div/>', {
        'id':"stemID",
        'class':'text-paragraph',
        'style':'cursor:pointer;',
        'html': '<p style="width: 80%; float: left;">stem text</p><p style="width:20%; float:left">stemID</p>'
    }).prependTo('#todelete');

    $('<div/>', {
        'id':"elementBefore",
        'class':'text-paragraph',
        'style':'cursor:pointer;',
        'html': '<p>Before place holder</p>'
    }).prependTo('#todelete');

    $('<div/>', {
        'id':"elementAfter",
        'class':'text-paragraph',
        'style':'cursor:pointer;',
        'html': '<p >After place holder</p>'
    }).appendTo('#todelete');

    $("#stemID").unwrap();

LIVE DEMO JSFiddle

Другие вопросы по тегам