user2064285
user2064285

Reputation: 43

How do i write this shorter with jQuery?

Can someone help me. I want to write this code better and shorter. So how do I write this jQuery code snippet shorter and better?

$("#empty_trash").click(function() {
    $('.wardopeskab ul').prepend('<li class="underbukser"></li>');
    $('.wardopeskab ul').prepend('<li class="underbukser"></li>');
    $('.wardopeskab ul').prepend('<li class="underbukser"></li>');
    $('.wardopeskab ul').prepend('<li class="underbukser"></li>');
    $('.wardopeskab ul').prepend('<li class="underbukser"></li>');
    $('.wardopeskab ul').prepend('<li class="underbukser"></li>');
    $('.wardopeskab ul').prepend('<li class="underbukser"></li>');
    $('.wardopeskab ul').prepend('<li class="underbukser"></li>');
    $('.wardopeskab ul').prepend('<li class="underbukser"></li>');
    $('.wardopeskab ul').prepend('<li class="underbukser"></li>');
    $('.wardopeskab ul').prepend('<li class="t-shirt"></li>');
    $('.wardopeskab ul').prepend('<li class="t-shirt"></li>');
    $('.wardopeskab ul').prepend('<li class="t-shirt"></li>');
    $('.wardopeskab ul').prepend('<li class="t-shirt"></li>');
    $('.wardopeskab ul').prepend('<li class="t-shirt"></li>');
    $('.wardopeskab ul').prepend('<li class="t-shirt"></li>');
    $('.wardopeskab ul').prepend('<li class="t-shirt"></li>');
    $('.wardopeskab ul').prepend('<li class="t-shirt"></li>');
    $('.wardopeskab ul').prepend('<li class="t-shirt"></li>');
    $('.wardopeskab ul').prepend('<li class="t-shirt"></li>');
});

Upvotes: 1

Views: 93

Answers (3)

iambriansreed
iambriansreed

Reputation: 22241

A little raw JavaScript power:

$('.wardopeskab ul')
    .prepend(
        new Array(11).join('<li class="underbukser">underbukser</li>') +
        new Array(11).join('<li class="t-shirt">t-shirt</li>')
    );

Fiddle: http://jsfiddle.net/8yEhE/5/

Note: The number 11 in new Array(11) is 1 more than the times it will be written out.

Upvotes: 4

turnt
turnt

Reputation: 3255

Use loops, for loops, while loops, etc:

$("#empty_trash").click(function () {
    while ( /* Loop Condition Here */ ) {

        $('.wardopeskab ul').prepend('<li class="underbukser"></li>');

    }
    while ( /* Loop Condition Here */ ) {

        $('.wardopeskab ul').prepend('<li class="t-shirt"></li>');

    }

});

Upvotes: -1

Collin
Collin

Reputation: 12287

Perhaps with a loop?

$("#empty_trash").click(function() {
    var elem = $('.wardopeskab ul');

    for(var i = 0; i < 10; i++) {
        elem.prepend('<li class="underbukser"></li>');
    }

    for(var i = 0; i < 10; i++) {
        elem.prepend('<li class="t-shirt"></li>');
    }
});

Preferably you wouldn't use the magic numbers; 10 should have a name of some sort. I'm not sure what you're trying to do, so I'm not sure what it would be named.

Upvotes: 4

Related Questions