Jannis
Jannis

Reputation: 17365

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.

Upvotes: 3

Views: 1385

Answers (2)

AndreKR
AndreKR

Reputation: 33697

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

Upvotes: 7

Dave L
Dave L

Reputation: 984

jQuery .wrap() is what you're looking for. It provides this functionality in a neater way

Upvotes: 1

Related Questions