Search code examples
jquerywrapperelementword-wrapcreation

jQuery: How to create element then wrap this around another existing element?


So I know how to use .wrap, .wrapInner and .wrapAll but I am wondering how to use the quick creation syntax introduced in jQuery 1.4 and the wrap function together.

Basically I want to be able to use

var targetUl = $(this), // would be populated by script
    maxWidth = 1400;    // would be populated by script

$('<div />', {
    'id':'wrap',
    'css': {
        'width': maxWidth,
        'overflow':'hidden'
    }
}).wrapAround(targetUl);

Kinda like the .appendTo method works but for wrapping stuff…

Can this be done?

Thanks.


Solution

  • targetUl.wrap(
        $('<div />', {
            'id':'wrap',
            'css': {
                'width': maxWidth,
                'overflow':'hidden'
            }
        })
    );