jQuery appending an array of elements

后端 未结 9 710
星月不相逢
星月不相逢 2020-12-13 23:34

For the purpose of this question lets say we need to append() 1000 objects to the body element.

You could go about it like this:

         


        
9条回答
  •  独厮守ぢ
    2020-12-14 00:15

    You could just call

    $('body').append(elements.join(''));
    

    Or you can just create a large string in the first place.

    var elements = '';
    for(x = 0; x < 1000; x++) {
        elements = elements + '
    '+x+'
    '; } $(document.body).append(elements);

    Like you mentioned, probably the most "correct" way is the usage of a DocFrag. This could look like

    var elements = document.createDocumentFragment(),
        newDiv;
    for(x = 0; x < 1000; x++) {
        newDiv = document.createElement('div');
        newDiv.textContent = x;
        elements.append( newDiv );
    }
    $(document.body).append(elements);
    

    .textContent is not supported by IE<9 and would need an conditional check to use .innerText or .text instead.

提交回复
热议问题